2013 國中組初賽-題目 A 挑食的大胃王
[解法ㄧ] #include<iostream> using namespace std; int main(){ int T,M,N,K,ans; cin>>T; while(T--){ ans=0; cin>>M>>N>>K; int eat[M][N]; for(int i=0;i<M;i++){ //輸入原始陣列值 for(int j=0;j<N;j++){ cin>>eat[i][j]; } } for(int i=0;i<M;i++){ for(int j=0;j<N;j++){ if(eat[i][j]%2==1){ //除以2餘數等於1 if(i-1>=0) //將會被挖掉的位置確定 eat[i-1][j]+=2; //eat[i][j]=eat[i][j]+2 if(j-1>=0) eat[i][j-1]+=2; if(i+1<M) eat[i+1][j]+=2; if(j+1<N) eat[i][j+1]+=2; eat[i][j]+=2; } } } for(int i=0;i<M;i++){ //計算出會被挖掉的值 for(int j=0;j<N;j++){ if(eat[i][j]){ ans++; //ans=ans+1 } } } if(K>=3) //可食用的白飯量 cout<<N*M*K-ans*3<<endl; else cout<<N*M*K-ans*K<<endl; } retu