hdu 1409
7494 ワード
タイトルリンク:http://acm.hdu.edu.cn/showproblem.php?pid=1409
考え方:すべての不一致点の条件を排除して、もしすべて一致すれば、Yes、さもなくば、No;
View Code
考え方:すべての不一致点の条件を排除して、もしすべて一致すれば、Yes、さもなくば、No;
View Code
1 #include<cstdio>
2 #include<cstring>
3
4 int main(){
5 int _case;
6 scanf("%d",&_case);
7 getchar();
8 while(_case--){
9 char str[110];
10 gets(str);
11 int cnt1,cnt2,p,len=strlen(str);
12 cnt1=cnt2=p=0;
13 bool flag=true;
14 for(int i=0;i<len;i++){
15 if((str[i]<'0'||str[i]>'9')&&str[i]!='.'&&str[i]!='E'&&str[i]!='-'){
16 flag=false;break;
17 }else if(str[i]=='E'){
18 cnt1++;
19 if(i==0||(i+1)==len||cnt1>1){
20 flag=false;break;
21 }
22 }else if(str[i]=='-'){
23 cnt2++;
24 if(i==0||str[i-1]!='E'||(i+1)==len||cnt2>1){
25 flag=false;break;
26 }
27 }else if(str[i]=='.'){
28 p++;
29 if((i+1)==len||i==0||p>1||cnt1>0){
30 flag=false;break;
31 }
32 }
33 }
34 flag?puts("YES"):puts("NO");
35 }
36 return 0;
37 }