あれ?今日も二問か…
内一問がなんかWA出まくるので結局カンニングしたような…
ってかなんなんだよ。ネットのACコード時々WA返すのは・・・
1028
こっちは全部自力。stack使うだけ。
#include <stack> #include <iostream> #include <string> using namespace std; int main() { string now = "http://www.acm.org/"; stack<string> back, forward; string cmd; while (cin>>cmd&&cmd!="QUIT") { if (cmd=="VISIT") { back.push(now); while (!forward.empty()) forward.pop(); cin>>now; cout << now << endl; } else if (cmd=="BACK") { if (back.empty()) { cout << "Ignored" << endl; } else { forward.push(now); now = back.top(); back.pop(); cout << now << endl; } } else if (cmd=="FORWARD") { if (forward.empty()) { cout << "Ignored" << endl; } else { back.push(now); now = forward.top(); forward.pop(); cout << now << endl; } } } }
1056
こっちはどう変えてもOLEが出てしまったので、ネットのコードみたところ手順はあってるらしい・・・
で、そのコードを参考に書き換えたがWAがでるのでコピペすると…あれ?WA
最後に何が間違ってるかわからないのでとりあえずネットから拾ってorz
#include <iostream> #include <string> using namespace std; int main() { char a[20][20]; char b[20]; int i,j,k,l; int count=1,n=0; while(scanf("%s",&b)!= EOF) { if(b[0]=='9') { for(i=0 ; i<n ; i++) { for(j=i+1;j<n;j++) { k=(strlen(a[i]) > strlen(a[j]))?strlen(a[j]):strlen(a[i]); for(l=0;l<k;l++) if(a[i][l]!=a[j][l])break; if(l==k) { printf("Set %d is not immediately decodable\n", count++); goto next; } } } printf("Set %d is immediately decodable\n", count++); next: n=0; continue; } strcpy(a[n++],b); } return 0; }
c++じゃないとこのコードは通りません。ってか何が違うのか…?