2014年05月10日02時54分45秒に更新されたバージョンを表示しています.
最新のページはこちらをご覧ください.
AtCoder Regular Contest #022
問題文
アルファベットのみから成る文字列 $S$ が与えられる.
$S$ の部分列(連続している部分である必要はない)として $\verb|ICT|$ が含まれるかどうかを判定する問題.
ただし,アルファベット大文字と小文字は区別しない.
最も左の $\verb|i|$,$\verb|I|$ を探し,それより右で,最も左の $\verb|c|$,$\verb|C|$ を探して,としていく.
#include<bits/stdc++.h>
using namespace std;
#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)
#define mygc(c) (c)=getchar_unlocked()
#define mypc(c) putchar_unlocked(c)
int reader(char c[]){int i,s=0;for(;;){mygc(i);if(i!=' '&&i!='\n'&&i!='\r'&&i!='\t') break;}c[s++]=i;for(;;){mygc(i);if(i==' '||i=='\n'||i=='\r'||i=='\t') break;c[s++]=i;}return s;}
void writer(const char c[]){int i;for(i=0;c[i]!='\0';i++)mypc(c[i]);}
int main(){
int i, j, k, n;
char in[1000];
n = reader(in);
rep(i,n) if(in[i]=='i' || in[i]=='I') break;
REP(i,i,n) if(in[i]=='c' || in[i]=='C') break;
REP(i,i,n) if(in[i]=='t' || in[i]=='T') break;
if(i==n) writer("NO\n");
else writer("YES\n");
return 0;
}
Current time: 2024年05月03日08時02分01秒
Last modified: 2014年05月10日02時54分45秒 (by laycrs)
Tags: Competitive_Programming AtCoder AtCoder_Regular_Contest ARC022 ARC_A
トップページに戻る
Logged in as: unknown user (not login)