Submission #2226302
Source Code Expand
#include <cstdio> #include <cstdlib> #include <iostream> #include <fstream> #include <sstream> #include <set> #include <map> #include <vector> #include <list> #include <algorithm> #include <cstring> #include <cmath> #include <string> #include <queue> #include <stack> #include <bitset> //UWAGA - w czasie kompilacji musi byc znany rozmiar wektora - nie mozna go zmienic #include <cassert> #include <iomanip> //do setprecision #include <ctime> #include <complex> using namespace std; #define FOR(i,b,e) for(int i=(b);i<(e);++i) #define FORQ(i,b,e) for(int i=(b);i<=(e);++i) #define FORD(i,b,e) for(int i=(b)-1;i>=(e);--i) #define REP(x, n) for(int x = 0; x < (n); ++x) #define ST first #define ND second #define PB push_back #define MP make_pair #define LL long long #define ULL unsigned LL #define LD long double const double pi = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342; const int mod=1000000007; int vis[111]={},n,idx; const int N=8; int put[9]={}; int queen[N]; int board[N][N]; int f=0; void printQueen(int queen[N]) { FOR(i,0,N){ int t=queen[i]; FOR(j,0,N){ if(j==t){ cout<<"Q"; }else cout<<"."; } cout<<endl; } }//*/ void changeBoard(int board[N][N], int i, int j, int d) { int k; for (k = 0; k < N; k++) { board[i][k] += d; board[k][j] += d; } if (i > j) { for (k = 0; k < N-(i-j); k++) { board[k+(i-j)][k] += d; } } else { for (k = 0; k < N-(j-i); k++) { board[k][k+(j-i)] += d; } } if (i+j < N) { for (k = 0; k <= i+j; k++) { board[i+j-k][k] += d; // } } else { for (k = i+j-N+1; k < N; k++) { board[i+j-k][k] += d; } } } void setQueen(int i) { int j; if (i == N) { printQueen(queen); f=1; return; } if(put[i]!=-1){ if (board[i][j] == 0)setQueen(i+1); else ; }else for (j = 0; j < N; j++) { if (board[i][j] == 0) { queen[i] = j; changeBoard(board, i, j, +1); setQueen(i+1); changeBoard(board, i, j, -1); //back } } } void findSolution() { memset(board, 0, sizeof(board)); FOR(i,0,8){ if(put[i]!=-1){ queen[i] = put[i]; // changeBoard(board, i, queen[i], +1); } } setQueen(0); } int main(void){ int a[11][11]={}; string s; FOR(i,0,N){ put[i]=-1; cin>>s; FOR(j,0,N){ if(s[j]=='.'); else { if(put[i]!=-1){ cout<<"No Answer"<<endl; return 0; } put[i]=j; } } } findSolution(); if(!f)cout<<"No Answer"<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - パズルのお手伝い |
User | kt_tenel |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2913 Byte |
Status | WA |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 100 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample1.txt, 00_sample2.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 01_rnd_20.txt, 01_rnd_21.txt, 01_rnd_22.txt, 01_rnd_23.txt, 01_rnd_24.txt, 01_rnd_25.txt, 01_rnd_26.txt, 01_rnd_27.txt, 01_rnd_28.txt, 01_rnd_29.txt, 01_rnd_30.txt, 01_rnd_31.txt, 01_rnd_32.txt, 01_rnd_33.txt, 01_rnd_34.txt, 01_rnd_35.txt, 01_rnd_36.txt, 01_rnd_37.txt, 01_rnd_38.txt, 01_rnd_39.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample1.txt | WA | 1 ms | 256 KB |
00_sample2.txt | AC | 1 ms | 256 KB |
01_rnd_00.txt | AC | 1 ms | 256 KB |
01_rnd_01.txt | WA | 1 ms | 256 KB |
01_rnd_02.txt | AC | 1 ms | 256 KB |
01_rnd_03.txt | AC | 1 ms | 256 KB |
01_rnd_04.txt | AC | 1 ms | 256 KB |
01_rnd_05.txt | AC | 1 ms | 256 KB |
01_rnd_06.txt | AC | 1 ms | 256 KB |
01_rnd_07.txt | AC | 1 ms | 256 KB |
01_rnd_08.txt | AC | 1 ms | 256 KB |
01_rnd_09.txt | AC | 1 ms | 256 KB |
01_rnd_10.txt | AC | 1 ms | 256 KB |
01_rnd_11.txt | AC | 1 ms | 256 KB |
01_rnd_12.txt | AC | 1 ms | 256 KB |
01_rnd_13.txt | WA | 1 ms | 256 KB |
01_rnd_14.txt | AC | 1 ms | 256 KB |
01_rnd_15.txt | AC | 1 ms | 256 KB |
01_rnd_16.txt | AC | 1 ms | 256 KB |
01_rnd_17.txt | AC | 1 ms | 256 KB |
01_rnd_18.txt | WA | 1 ms | 256 KB |
01_rnd_19.txt | WA | 1 ms | 256 KB |
01_rnd_20.txt | AC | 1 ms | 256 KB |
01_rnd_21.txt | AC | 1 ms | 256 KB |
01_rnd_22.txt | AC | 1 ms | 256 KB |
01_rnd_23.txt | AC | 1 ms | 256 KB |
01_rnd_24.txt | AC | 1 ms | 256 KB |
01_rnd_25.txt | WA | 1 ms | 256 KB |
01_rnd_26.txt | AC | 1 ms | 256 KB |
01_rnd_27.txt | WA | 1 ms | 256 KB |
01_rnd_28.txt | AC | 1 ms | 256 KB |
01_rnd_29.txt | AC | 1 ms | 256 KB |
01_rnd_30.txt | AC | 1 ms | 256 KB |
01_rnd_31.txt | AC | 1 ms | 256 KB |
01_rnd_32.txt | WA | 1 ms | 256 KB |
01_rnd_33.txt | AC | 1 ms | 256 KB |
01_rnd_34.txt | AC | 1 ms | 256 KB |
01_rnd_35.txt | AC | 1 ms | 256 KB |
01_rnd_36.txt | AC | 1 ms | 256 KB |
01_rnd_37.txt | AC | 1 ms | 256 KB |
01_rnd_38.txt | AC | 1 ms | 256 KB |
01_rnd_39.txt | AC | 1 ms | 256 KB |