這一題我有自己隨便輸入較小的測資進去
然後程式一樣錯誤 有輸出答案
但是 執行時發生錯誤 SIGABRT(6)!!
系統呼叫 abort 函式!!
#include <iostream>
#include <string>
using namespace std;
int main(){
int mp,tp,w,h,mp2,tp2; //怪物張數,測試張數,寬,高
cin>>mp>>tp>>w>>h;
mp2=mp;
tp2=tp;
string M[mp];//怪物圖片
string T[tp];//測試圖片
string s="",str="";
while(mp--){//要讀取的怪物張數
for(int i=1;i<=h;i++){
cin>>s;
str+=s;
}
M[mp]=str;
str="";
}
while(tp--){//要讀取的測試張數
for(int i=1;i<=h;i++){
cin>>s;
str+=s;
}
T[tp]=str;
str="";
}
//做處理
int yp=0,wp=0;
bool bo;
string str2,str3;
for(int i=0;i<tp2;i++){//第i張測試圖片
str2=M[i];
for(int k=0;k<mp2;k++){//第k張怪物圖
str3=T[k];
for(int p=0;p<w*h;p++){
if(str2[p]=='-') {continue;}
if(str2[p]==str3[p]) yp++;
else wp++;
}
if (yp>=wp*4) {bo=true;i=tp2;break;}
if(bo==false ) {bo=false; }
}
}
if(bo==true) {cout << "Y" << endl;}
else {cout << "N" << endl;}
}
程式碼我也解鎖了 也可以到這裡看
http://cat.nknush.kh.edu.tw/ZeroJudge/ShowCode?lock=open&codelogid=21906