#24371: #0 10% WA (line:1)


Tamilala (Tamilala不是星導夢女)

學校 : 國立臺南女子高級中學
編號 : 138845
來源 : [140.113.129.144]
最後登入時間 :
2024-04-20 02:23:18
e854. 拼字問題 -- TOI初選 | From: [218.164.173.144] | 發表日期 : 2021-02-09 23:57

#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?

 
#28776: Re:#0 10% WA (line:1)


s0975247623@gmail.com (愛吃又愛睡的Weber)

學校 : 高雄市立高雄高級中學
編號 : 136210
來源 : [42.77.23.117]
最後登入時間 :
2023-01-17 20:53:17
e854. 拼字問題 -- TOI初選 | From: [42.77.55.197] | 發表日期 : 2022-01-01 21:01

#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跟你的有點像,就出錯了

 
ZeroJudge Forum