| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
本人菜鸟,小小经验。wa了一次,然后改成
1,如果是10的话不能填在前9位。
2.当填入10但是又不能填在第10位要输出-1.
第二点感觉最阴险了!
然后试了一下就过了,太阴险了,估计很多人就是这里错了。
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{ char a[10];
while(gets(a))
{ int i,j,k,sum=0;
for(i=0;i<10;i++)
{ if(a[i]!='X' && a[i] != '?') sum+=(10-i)*(a[i]-'0');
else { if(a[i] == 'X') sum+=10*(10-i);
if(a[i] =='?') k=i;
}
}
//cout<<sum<<endl;
bool p=false;
for(i=0;i<=10;i++)
{ if((sum+i*(10-k))%11 ==0)
{ p=true;
break;
}
}
if(p)
{ if(i!=10) printf("%d\n",i);
else { if(k==9) printf("X\n");
else printf("-1\n");
}
}
else printf("-1\n");
}
system("PAUSE");
return EXIT_SUCCESS;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator