Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
在本机上各种情况都试了,为甚提交就是wrong answer?#include <stdio.h> #include <vector> using namespace std; int main(int argc, char const *argv[]){ vector< vector<int> > primal(4, vector<int>(4)); vector< vector<int> > press(5, vector<int>(6)); int pressNum; int mmin = 20; char bw; bool succ; for (int i = 0; i < 4; i++){ for (int j = 0; j<4; j++) primal[i][j]=((bw=getchar())=='b'?1:0); getchar(); } for (int i = 0; i<5; i++) for (int j = 0; j<6; j++) press[i][j] = 0; for (int i = 0; i<16; i++){ int tmp = i; pressNum = 0; //第一行 for (int j = 1; j<5; j++){ pressNum += press[1][j] = tmp & 1; tmp = tmp >> 1; } for (int j = 2; j<5; j++){ for (int k = 1; k<5; k++){ if (0 == (primal[j - 2][k - 1] + press[j - 1][k - 1] + press[j - 1][k] + press[j - 1][k + 1] + press[j - 2][k]) % 2){ press[j][k] = 1; pressNum++; } else{ press[j][k] = 0; } } } succ=true; for(int j=0; j<4; j++){ if (0==(primal[3][j] + press[4][j+1] + press[4][j] + press[4][j+2] + press[3][j+1])%2){ succ=false; } } if(succ){ mmin=min(mmin,pressNum); } } if(mmin>16) printf("Impossible"); else printf("%d\n", mmin); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator