QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#811528 | #9621. 连方 | TosakaUCW# | AC ✓ | 7ms | 4372kb | C++20 | 3.8kb | 2024-12-12 20:21:12 | 2024-12-12 20:21:17 |
Judging History
answer
#include <bits/stdc++.h>
using i64 = long long;
#define int i64
#define pb push_back
#define ep emplace
#define eb emplace_back
using std::cerr;
// using namespace std::views;
// using namespace std::ranges;
using std::max, std::min, std::swap, std::array;
using std::cin, std::cout, std::string, std::vector;
using std::ostream;
template <class T1, class T2> ostream &operator<<(ostream &os, const std::pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << '\n'; }
using pii = std::pair<int, int>;
#define fi first
#define se second
double eps = 1e-7;
const int inf = 1000;
void solve() {
int n; cin >> n;
string s, t;
cin >> s >> t;
int cnt1 = 0;
int cnt2 = 0;
for (auto ch : s) cnt1 += ch == '#';
for (auto ch : t) cnt2 += ch == '#';
// if (cnt1 < cnt2) swap(cnt1, cnt2);
if (max(cnt1, cnt2) == n and cnt1 != cnt2) {
cout << "No\n";
return;
}
vector<string> a(7);
// a[0] = s, a[6] = t;
string sr = s;
string tr = t;
for (auto &ch : sr) ch = (ch == '.' ? '#' : '.');
for (auto &ch : tr) ch = (ch == '.' ? '#' : '.');
a[0] = s;
a[1] = sr;
a[5] = tr;
a[6] = t;
a[2].assign(n, '.');
a[3].assign(n, '.');
a[4].assign(n, '.');
if (cnt1 == cnt2 and cnt1 == n) {
cout << "Yes\n";
for (int i = 0; i < 7; i++) {
a[i].assign(n, '#');
cout << a[i] << '\n';
}
return;
}
if (cnt1 == cnt2 and cnt1 == 0) {
cout << "Yes\n";
a[1].assign(n, '.');
a[5].assign(n, '.');
for (int i = 0; i < 7; i++) {
cout << a[i] << '\n';
}
return;
}
// cerr << a << '\n';
int p1 = -inf, p2 = -inf;
for (int i = 0; i < n and p1 == -inf; i++) {
// cout << i + 1 << '\n';
if (a[1][i] == '#') {
if (i + 1 < n and a[1][i + 1] != '#') {
a[2][i + 1] = '#';
p1 = i + 1;
break;
}
if (i - 1 >= 0 and a[1][i - 1] != '#') {
a[2][i - 1] = '#';
p1 = i - 1;
break;
}
}
}
// cout << 1 << '\n';
for (int i = 0; i < n and p2 == -inf; i++) {
if (a[5][i] == '#') {
if (i + 1 < n and a[5][i + 1] != '#') {
// cout << '9';
a[4][i + 1] = '#';
p2 = i + 1;
break;
}
if (i - 1 >= 0 and a[5][i - 1] != '#') {
a[4][i - 1] = '#';
p2 = i - 1;
// assert(0);
break;
}
}
}
// cerr << a[4] << '\n';
if (p1 != -inf and p2 != -inf) {
if (abs(p1 - p2) <= 1) {
a[3][p1] = '#';
} else {
if (p1 > p2) swap(p1, p2);
for (int i = p1 + 1; i < p2; i++) {
a[3][i] = '#';
}
}
} else {
if (cnt1 == 0)
for (int i = 1; i < 5; i++) a[i] = s;
else if (cnt2 == 0)
for (int i = 2; i < 7; i++) a[i] = t;
}
cout << "Yes\n";
for (int i = 0; i < 7; i++) {
cout << a[i] << '\n';
}
// cerr << "----\n";
}
signed main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int T; cin >> T;
for (; T--; solve());
// solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3612kb
input:
5 4 #..# .##. 5 ##.#. .#.## 6 ###### .####. 27 .######.######.####.#.##### .####...####..#.......##### 10 ########## ##########
output:
Yes #..# .##. #... #... .#.. #..# .##. Yes ##.#. ..#.# ...#. ..#.. .#... #.#.. .#.## No Yes .######.######.####.#.##### #......#......#....#.#..... .#......................... .#......................... .#......................... #....###....##.#######..... .####...####..#.......##### Yes ########...
result:
ok Correct.
Test #2:
score: 0
Accepted
time: 3ms
memory: 3632kb
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: 7ms
memory: 3576kb
input:
10000 41 #######.#######.######################### ################.###.#######.############ 6 ..#..# #..##. 6 #.#... #...#. 6 .#.##. ....## 6 ...#.# ##..#. 33 #####.########################### ###########.##################### 6 .##.## .##.#. 5 ..##. ####. 17 #.###.##########. ####.##.#####.##. 5 ....
output:
Yes #######.#######.######################### .......#.......#......................... ........#................................ .........########........................ .................#....................... ................#...#.......#............ ################.###.#######.############ Ye...
result:
ok Correct.
Test #4:
score: 0
Accepted
time: 7ms
memory: 3904kb
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: 3ms
memory: 3644kb
input:
10000 5 ...#. ##### 6 ###... ##..#. 9 .#.###### #.#..#### 49 ######.########################################## ########.#############.########################## 41 ###########.#######.##################### ##############.########################## 6 ###..# ###.## 49 #################################...
output:
No Yes ###... ...### ..#... ..#... .#.... ..##.# ##..#. Yes .#.###### #.#...... .#....... .#....... ..#...... .#.##.... #.#..#### Yes ######.########################################## ......#.......................................... .......#......................................... ........#..........
result:
ok Correct.
Test #6:
score: 0
Accepted
time: 3ms
memory: 4372kb
input:
2 100000 ###.#...#..####...#####..####.#.######.##.##..#..#..####...###.#..##.#.##.####.#.#.###...#.##...####.#.#.####...####.#..##.##.#.#.....####..####..#...#..#.##..#.##.#.....#..#.#.###.#....####...####..##.#.#####..####.##.#.###.#.#....#.##.##...#.######.#..##..##...#.....#....#.####...#...##.#...
output:
Yes ###.#...#..####...#####..####.#.######.##.##..#..#..####...###.#..##.#.##.####.#.#.###...#.##...####.#.#.####...####.#..##.##.#.#.....####..####..#...#..#.##..#.##.#.....#..#.#.###.#....####...####..##.#.#####..####.##.#.###.#.#....#.##.##...#.######.#..##..##...#.....#....#.####...#...##.##.#.....
result:
ok Correct.
Test #7:
score: 0
Accepted
time: 3ms
memory: 4288kb
input:
2 100000 ##.####.#..#..#.##..#.#..###..##..#####.....#..##.##.#...#.###..##..#...##...####..#...##...##.......#.#..##.##..###.#.###.##.#########..#...###.####.##...#..#.....#####.....#.####.#####..#.#....#..###.#.##..#..#.##.......#.###.##...####.....######..#.##....#.#.###.#.###.#..#.....####....##...
output:
Yes ##.####.#..#..#.##..#.#..###..##..#####.....#..##.##.#...#.###..##..#...##...####..#...##...##.......#.#..##.##..###.#.###.##.#########..#...###.####.##...#..#.....#####.....#.####.#####..#.#....#..###.#.##..#..#.##.......#.###.##...####.....######..#.##....#.#.###.#.###.#..#.....####....##........
result:
ok Correct.