PKU 2190 ISBN
http://poj.org/problem?id=2190
ISBNのコードが1文字抜けた状態で与えられる。このとき、ISBNのコード基準を満たすように抜けた文字を求めよというような問題。
一発AC。うれしい
main(){ string in; cin>>in; int sum=0; int q; rep(i,10){ if(in[i]=='?'){ q=i; continue; } if(isdigit(in[i]))sum+=(in[i]-'0')*(10-i); else sum+=10*(10-i); } int ans=-1; rep(i,11){ if(((10-q)*i+sum)%11==0){ ans=i; break; } } if(ans==-1 || q<9 && ans==10)cout<<-1<<endl; else if(ans<10)cout<<ans<<endl; else cout<<'X'<<endl; }