QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#736744 | #9621. 连方 | fsy_juruo | AC ✓ | 14ms | 9856kb | C++17 | 3.8kb | 2024-11-12 13:07:36 | 2024-11-12 13:07:36 |
Judging History
answer
#include <bits/stdc++.h>
using LL = long long;
const int maxN = 1e6 + 10;
int T, n;
char A[7][maxN];
std::vector<std::pair<int, int> > seg;
int main() {
std::ios::sync_with_stdio(false); std::cin.tie(nullptr);
std::cin >> T;
while(T--) {
std::cin >> n;
for(int i = 0; i < 7; i++) {
for(int j = 0; j < n; j++) A[i][j] = '.';
}
std::cin >> A[0] >> A[6];
bool isFullA = true, isFullB = true;
for(int j = 0; j < n; j++) isFullA &= (A[0][j] == '#');
for(int j = 0; j < n; j++) isFullB &= (A[6][j] == '#');
if(isFullA && isFullB) {
std::cout << "Yes\n";
for(int i = 0; i < 7; i++) {
for(int j = 0; j < n; j++) {
std::cout << "#";
}
std::cout << "\n";
}
continue;
} else if(isFullA || isFullB) {
std::cout << "No\n";
continue;
}
for(int j = 0; j < n; j++) A[1][j] = (A[0][j] == '.' ? '#' : '.');
for(int j = 0; j < n; j++) A[5][j] = (A[6][j] == '.' ? '#' : '.');
int posA = -1;
for(int j = 1; j < n; j++) {
if(posA == -1 && A[1][j] == '.' && A[1][j - 1] == '#') {
posA = j;
}
}
for(int j = 0; j < n - 1; j++) {
if(posA == -1 && A[1][j] == '.' && A[1][j + 1] == '#') {
posA = j;
}
}
int posB = -1;
for(int j = 1; j < n; j++) {
if(posB == -1 && A[5][j] == '.' && A[5][j - 1] == '#') {
posB = j;
}
}
for(int j = 0; j < n - 1; j++) {
if(posB == -1 && A[5][j] == '.' && A[5][j + 1] == '#') {
posB = j;
}
}
A[2][posA] = A[4][posB] = '#';
if(posA == posB) {
A[3][posA] = '#';
} else {
if(posA <= posB) std::swap(posA, posB);
if(posA - posB == 1) A[3][posA] = '#';
else {
for(int i = posB + 1; i < posA; i++) {
A[3][i] = '#';
}
}
}
std::cout << "Yes\n";
for(int i = 0; i < 7; i++) {
for(int j = 0; j < n; j++) {
std::cout << A[i][j];
}
std::cout << "\n";
}
// int lft = -1, rgt = -1;
// for(int i = 0; i < n; i++) {
// if((A[0][i] == '#' || A[6][i] == '#')) {
// if(lft == -1) lft = i, rgt = i;
// else ++rgt;
// } else {
// if(lft != -1) seg.emplace_back(std::make_pair(lft, rgt));
// lft = -1, rgt = -1;
// }
// }
// if(lft != -1) seg.emplace_back(std::make_pair(lft, rgt));
// for(auto S : seg) {
// int l = S.first, r = S.second;
// for(int i = l; i <= r; i++) {
// A[1][i] = (A[0][i] == '.' ? '#' : '.');
// A[5][i] = (A[6][i] == '.' ? '#' : '.');
// }
// int pos = -1;
// for(int i = l; i <= r; i++) {
// if(A[1][i] == '#') {
// pos = i;
// break;
// }
// }
// if(A[5][pos] == '#') {
// A[2][pos] = A[3][pos] = A[4][pos] = '#';
// } else {
// int pos2 = 0;
// for(int i = pos + 1; i <= r; i++) {
// if(A[5][i] == '#') {
// pos2 = i; break;
// }
// }
// if(pos2) {
// for(int i = 2; i <= 4; i++) {
// for(int j = pos; j < pos2; j++) {
// A[i][j] = '#';
// }
// }
// if(pos2 != pos + 1) A[2][pos] = A[3][pos] = A[4][pos] = '.';
// } else {
// for(int i = pos - 1; i >= l; i--) {
// if(A[5][i] == '#') {
// pos2 = i; break;
// }
// }
// if(pos2) {
// for(int i = 2; i <= 4; i++) {
// for(int j = pos2 + 1; j <= pos; j++) {
// A[i][j] = '#';
// }
// }
// if(pos2 != pos - 1) A[2][pos] = A[3][pos] = A[4][pos] = '.';
// }
// }
// }
// }
// // for(int i = 1; i < n - 1; i++) {
// // if(A[0][i] == A[6][i] && A[0][i] == '.') {
// // for()
// // }
// // }
// std::cout << "Yes\n";
// for(int i = 0; i < 7; i++) {
// for(int j = 0; j < n; j++) {
// std::cout << A[i][j] << "\0\n"[j == n - 1];
// }
// }
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 9856kb
input:
5 4 #..# .##. 5 ##.#. .#.## 6 ###### .####. 27 .######.######.####.#.##### .####...####..#.......##### 10 ########## ##########
output:
Yes #..# .##. ...# ..#. .#.. #..# .##. Yes ##.#. ..#.# ...#. ..#.. .#... #.#.. .#.## No Yes .######.######.####.#.##### #......#......#....#.#..... .#......................... .#......................... .#......................... #....###....##.#######..... .####...####..#.......##### Yes ########...
result:
ok Correct.
Test #2:
score: 0
Accepted
time: 10ms
memory: 7716kb
input:
10000 6 .#..## ..#... 5 #..#. ##... 6 .###.# ...### 17 .####..#######..# ###########.##### 6 ..##.# #.##.# 25 #.##.##############.####. ####################.##.# 9 ##.#..##. ##..##### 6 .###.# ##.### 6 ###..# #.#### 25 #####################.#.# ######.################## 6 .#.### .##..# 6 ..#### #......
output:
Yes .#..## #.##.. .#.... ..#... ..#... ##.### ..#... Yes #..#. .##.# ...#. ..#.. .#... ..### ##... Yes .###.# #...#. .#.... ..#... ...#.. ###... ...### Yes .####..#######..# #....##.......##. .#............... ..##########..... ............#.... ...........#..... ###########.##### Yes ..##.# ##..#. ...
result:
ok Correct.
Test #3:
score: 0
Accepted
time: 14ms
memory: 9744kb
input:
10000 41 #######.#######.######################### ################.###.#######.############ 6 ..#..# #..##. 6 #.#... #...#. 6 .#.##. ....## 6 ...#.# ##..#. 33 #####.########################### ###########.##################### 6 .##.## .##.#. 5 ..##. ####. 17 #.###.##########. ####.##.#####.##. 5 ....
output:
Yes #######.#######.######################### .......#.......#......................... ........#................................ .........########........................ .................#....................... ................#...#.......#............ ################.###.#######.############ Ye...
result:
ok Correct.
Test #4:
score: 0
Accepted
time: 14ms
memory: 9808kb
input:
10000 6 ..#### .#.... 6 ...#.# #..##. 9 ..####.## ######..# 33 #######################.#####..## ######.######.###########.####### 6 ####.# #..##. 6 ...### ##.### 25 ######.#.#.############## .#########.##########.### 17 ############.#### ###############.# 6 #..#.# #####. 6 .#.### ..#... 49 ########...
output:
Yes ..#### ##.... ..#... ..#... .#.... #.#### .#.... Yes ...#.# ###.#. ...#.. ...#.. ...#.. .##..# #..##. Yes ..####.## ##....#.. ..#...... ...#####. ........# ......##. ######..# Yes #######################.#####..## .......................#.....##.. ........................#........ ........######...
result:
ok Correct.
Test #5:
score: 0
Accepted
time: 13ms
memory: 7716kb
input:
10000 5 ...#. ##### 6 ###... ##..#. 9 .#.###### #.#..#### 49 ######.########################################## ########.#############.########################## 41 ###########.#######.##################### ##############.########################## 6 ###..# ###.## 49 #################################...
output:
No Yes ###... ...### ..#... ...#.. ....#. ..##.# ##..#. Yes .#.###### #.#...... .#....... ..#...... ..#...... .#.##.... #.#..#### Yes ######.########################################## ......#.......................................... .......#......................................... ........#..........
result:
ok Correct.
Test #6:
score: 0
Accepted
time: 11ms
memory: 9768kb
input:
2 100000 ###.#...#..####...#####..####.#.######.##.##..#..#..####...###.#..##.#.##.####.#.#.###...#.##...####.#.#.####...####.#..##.##.#.#.....####..####..#...#..#.##..#.##.#.....#..#.#.###.#....####...####..##.#.#####..####.##.#.###.#.#....#.##.##...#.######.#..##..##...#.....#....#.####...#...##.#...
output:
Yes ###.#...#..####...#####..####.#.######.##.##..#..#..####...###.#..##.#.##.####.#.#.###...#.##...####.#.#.####...####.#..##.##.#.#.....####..####..#...#..#.##..#.##.#.....#..#.#.###.#....####...####..##.#.#####..####.##.#.###.#.#....#.##.##...#.######.#..##..##...#.....#....#.####...#...##.##.#.....
result:
ok Correct.
Test #7:
score: 0
Accepted
time: 11ms
memory: 8056kb
input:
2 100000 ##.####.#..#..#.##..#.#..###..##..#####.....#..##.##.#...#.###..##..#...##...####..#...##...##.......#.#..##.##..###.#.###.##.#########..#...###.####.##...#..#.....#####.....#.####.#####..#.#....#..###.#.##..#..#.##.......#.###.##...####.....######..#.##....#.#.###.#.###.#..#.....####....##...
output:
Yes ##.####.#..#..#.##..#.#..###..##..#####.....#..##.##.#...#.###..##..#...##...####..#...##...##.......#.#..##.##..###.#.###.##.#########..#...###.####.##...#..#.....#####.....#.####.#####..#.#....#..###.#.##..#..#.##.......#.###.##...####.....######..#.##....#.#.###.#.###.#..#.....####....##........
result:
ok Correct.