2020 ICPC上海 B.Mine Sweeper II
題意: 給定兩個
n
×
m
n\times m
n×m的初始掃雷陣
A
A
A,
B
B
B,每個陣的分數為所有非雷塊的分數之和,每個非雷塊的分數為以其為九宮格中心的九宮格中的雷塊數量。現在問在不超過
⌊
n
m
2
⌋
\lfloor\frac{nm}{2}\rfloor
⌊2nm⌋次翻轉後,使得操作後的
B
B
B的分數等於
A
A
A的分數。
資料範圍:
1
≤
n
,
m
≤
1000
1\leq n,m\leq 1000
1≤n,m≤1000
題解:
!
A
!A
!A定義為將
A
A
A全部翻轉,即
A
A
A的所有雷塊變為非雷塊,非雷塊變為雷塊。
定義
B
→
A
B→A
B→A的轉換次數為
c
n
t
cnt
cnt
則
B
→
!
A
B→!A
B→!A的轉換次數為
n
×
m
−
c
n
t
n\times m-cnt
n×m−cnt
若
c
n
t
≤
n
×
m
2
,
cnt \leq \frac{n \times m}{2},
cnt≤2n×m, 轉換成
A
A
A
若
c
n
t
>
n
×
m
2
,
cnt > \frac{n \times m}{2},
cnt>2n×m, 則
n
×
m
−
c
n
t
<
=
n
×
m
2
n \times m - cnt <= \frac{n \times m}{2}
n×m−cnt<=2n×m,轉換成
!
A
!A
!A
程式碼:
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
char A[N][N], B[N][N];
int n, m;
int main()
{
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i) scanf("%s", A[i] + 1);
for(int i = 1; i <= n; ++i) scanf("%s", B[i] + 1);
int mx = n * m / 2;
int cnt = 0;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
cnt += (A[i][j] != B[i][j]);
if(cnt <= mx) {
for(int i = 1; i <= n; ++i) puts(A[i] + 1);
}
else {
for(int i = 1; i <= n; ++i, putchar('\n'))
for(int j = 1; j <= m; ++j)
putchar(A[i][j] == 'X' ? '.' : 'X');
}
return 0;
}
相關文章
- 2020ICPC上海 B.Mine Sweeper II(思維,亂搞)
- 2020 ICPC 上海賽區
- 2020ICPC上海 I Sky Garden(亂搞,思維)
- The 2024 ICPC Asia EC Regionals Online Contest (II) - Problem H. Points Selection
- The 2024 ICPC Asia EC Regionals Online Contest (II) - Problem B. Mountain BookingAI
- P9825 [ICPC2020 Shanghai R] FibonacciAI
- 2020ICPC小米邀請賽2 A-2020(貪心+二分)
- 2020ICPC·小米 網路選拔賽第一場
- 2020ICPC 江西省賽 B. Apple(思維)APP
- 2020ICPC小米網路賽 C.Data Structure ProblemStruct
- 上海月賽2020年4月
- 二分/貪心(ICPC小米預賽第一場 A 2020)
- 2020 ICPC 線上模擬賽 I題 Character Wheels(模擬)
- 2021 ICPC 南京
- 2023 ICPC 南京
- 2023 ICPC合肥
- 2019-2020 ICPC, NERC, Northern Eurasia Finals E. Elections (暴力&貪心)
- 2020 ICPC 線上模擬賽 E題 Eat Walnuts(區間dp)
- CBRE: 2020上海寫字樓租戶普查
- 2019-2020 ICPC Southeastern European Regional Programming Contest (SEERC 2019) 補題記錄AST
- Codeforces ICPC那場
- ICPC 成都遊記
- [2017 ICPC Nanning] Rake It InNaN
- [補題] 第 45 屆國際大學生程式設計競賽(ICPC)亞洲區域賽(上海)程式設計
- MichaelPage:2020上海薪酬標準指南(附下載)
- Range Addition II 範圍求和 II
- 2023ICPC 瀋陽
- 『杭電1940』ICPC Scoreboard
- 2020ICPC·小米 網路選拔賽熱身賽K-Random Point in Trianglerandom
- Hackable: II
- 2020年SAP專案艱辛曲折的開工歷程 II
- 2020-11-19(122. 買賣股票的最佳時機 II)
- (原創) 如何破解Quartus II 7.2 SP1? (IC Design) (Quartus II) (Nios II)iOS
- The 2024 ICPC Asia Nanjing Regional ContestNaN
- 2024.11.2 2024ICPC成都站
- The 2021 ICPC Asia Shenyang Regional Contest
- The 2023 ICPC Asia Macau Regional ContestMac
- ICPC2023瀋陽K