Submission #1868739
Source Code Expand
#include <bits/stdc++.h>
#define FOR(i,a,b) for(int i=a; i<b; i++)
#define REP(i,a) FOR(i,0,a)
using namespace std;
int judge(unordered_map<int, int> m) {
FOR(i,1,9) {
auto itr1=m.find(i);
if (itr1==m.end()) continue;
FOR(j,i+1,9) {
auto itr2 = m.find(j);
if (itr2==m.end()) continue;
// printf("(%d, %d)-(%d, %d)\n",itr1->first, itr1->second, itr2->first, itr2->second);
if (itr1->first == itr2->first || itr1->second == itr2->second
|| itr1->first+itr1->second == itr2->first+itr2->second
|| itr1->first-itr1->second == itr2->first-itr2->second) return 0;
}
}
return 1;
}
int main(){
char c[8][8];
unordered_map<int, int> m;
vector<int> v, l;
int cnt=0;
REP(i,8) {
REP(j,8) {
scanf(" %c", &c[i][j]);
if (c[i][j] == 'Q') {
auto itr=m.find(i+1);
m[i+1] = j+1;
}
}
}
if (m.size()!=3 || judge(m)!=1) {
printf("No Answer\n");
return 0;
}
REP(i,8) {
auto itr=m.find(i+1);
if (itr==m.end()) v.push_back(i+1);
int cnt=0;
for (itr=m.begin(); itr!=m.end(); ++itr) {
if (i+1 == itr->second) cnt=1;
}
if (cnt==0) l.push_back(i+1);
}
cerr << v.size() << endl;
REP(i,l.size()) cerr << l[i];
cerr << endl;
do {
unordered_map<int, int> mm = m;
REP(i,v.size()) mm[v[i]]=l[i]; REP(i,v.size()) cerr << v[i];
cerr << endl;
if (judge(mm)==1) {
char ans[8][8];
REP(i,8) {
REP(j,8) {
if (mm[i+1]==j+1) printf("Q");
else printf(".");
}
printf("\n");
}
return 0;
}
} while (next_permutation(v.begin(), v.end()));
// for (auto itr=m.begin(); itr!=m.end(); ++itr) printf("%d-%d\n", itr->first, itr->second);
printf("\n");
}
Submission Info
Submission Time
2017-12-13 15:19:53+0900
Task
C - パズルのお手伝い
User
Gen_roh_
Language
C++14 (GCC 5.4.1)
Score
0
Code Size
1832 Byte
Status
WA
Exec Time
6 ms
Memory
256 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:27:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf(" %c", &c[i][j]);
^
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
AC
1 ms
256 KB
00_sample2.txt
AC
1 ms
256 KB
01_rnd_00.txt
WA
6 ms
256 KB
01_rnd_01.txt
AC
1 ms
256 KB
01_rnd_02.txt
AC
1 ms
256 KB
01_rnd_03.txt
WA
2 ms
256 KB
01_rnd_04.txt
AC
1 ms
256 KB
01_rnd_05.txt
WA
2 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
AC
2 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
AC
1 ms
256 KB
01_rnd_19.txt
AC
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
WA
2 ms
256 KB
01_rnd_24.txt
AC
1 ms
256 KB
01_rnd_25.txt
AC
1 ms
256 KB
01_rnd_26.txt
AC
1 ms
256 KB
01_rnd_27.txt
AC
1 ms
256 KB
01_rnd_28.txt
WA
2 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
AC
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
WA
2 ms
256 KB
01_rnd_39.txt
WA
2 ms
256 KB