#include<bits/stdc++.h> using namespace std; int main(){ string str1,str2; getline(cin,str1); getline(cin,str2); char c1[str1.size()+1]; strcpy(c1,str1.c_str()); char c2[str2.size()+1]; strcpy(c2,str2.c_str()); for(int i=0;i<=str1.size();i++){ if(c1[i]==' ') continue; bool exist=false; for(int j=0;j<=str2.size();j++){ if(c1[i]==c2[j]){ if(i==0||c1[i-1]!=' ') cout<<c1[i]; else cout<<' '<<c1[i]; c2[j]=' '; exist=true; break; } } if(exist==false) break; } return 0; }
想請問各位大大,為何會#0 的 line 1 會 WA?
#include<bits/stdc++.h> using namespace std; int main(){ string str1,str2; getline(cin,str1); getline(cin,str2); char c1[str1.size()+1]; strcpy(c1,str1.c_str()); char c2[str2.size()+1]; strcpy(c2,str2.c_str()); for(int i=0;i<=str1.size();i++){ if(c1[i]==' ') continue; bool exist=false; for(int j=0;j<=str2.size();j++){ if(c1[i]==c2[j]){ if(i==0||c1[i-1]!=' ') cout<<c1[i]; else cout<<' '<<c1[i]; c2[j]=' '; exist=true; break; } } if(exist==false) break; } return 0; }
想請問各位大大,為何會#0 的 line 1 會 WA?
要考慮c2的字元數量,像是假如c1裡面有三個A,c2裡面只有兩個A,那掃到c1的第三個A就算是找不到
應該是這個問題吧,我一開始的code跟你的有點像,就出錯了