H.本题主要考察了DFS
题意
- 给出\(n^2-1\)个拼图及其状态,求出对于n*n整体中所缺失拼图的制作成本、
思路
- 由于拼图的完整性,那么缺失和多出来的数目应该是一致的,所以我们只需要记录\(n^2-1\)个拼图缺失和多出来的差值即可
代码
点击查看代码
#include<iostream>
using namespace std;
#define prep(i,a,b) for(int i = (a); i <= (b); i ++)
#define rrep(i,a,b) for(int i = (a); i >= (b); i --)
typedef long long LL;
const char nl = '\n';
int T, n, m;
const int N = 25;
char s[N][4];
void solve() {
int d = 0; //初始化
cin >> n;
prep(i,1,n * n - 1){
prep(j,0,3){
cin >> s[i][j];
if(s[i][j] == '1')d ++; //缺了需要补上,成本增多
else if(s[i][j] == '2')d --;
}
}
cout << 10 + d << nl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> T;
while (T--) {
solve();
}
return 0;
}