2015 ICPC亚洲区域赛 长春站

寒假开始的第一场训练赛,一共过掉了4题。
L - House Building
思路:这是一道以minecraft为背景的题,问不同形状立方体裸露的表面积是多少,显然将每一个单元格的高度与四周单位的高度的差之和再加上顶上1个单位的表面积及即为这个单元格裸露的表面积,每个单元格裸露表面积的和即为答案。tips:注意将数组清0,因为没清0WA了一次555

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define ll long long
using namespace std;
int t, n, m;
int c[60][60];
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	cin >> t;
	while(t--){
		memset(c, 0, sizeof(c));
		int ans = 0;
		cin >> n >> m;
		for(int i = 1; i <= n; i++){
			for(int j = 1; j <= m; j++){
				cin >> c[i][j];
			}
		}
		for(int i = 1; i <= n; i++){
			for(int j = 1; j <= m; j++){
				if(c[i][j] == 0) continue;
				if(c[i - 1][j] < c[i][j]) ans += (c[i][j] - c[i - 1][j]);
				if(c[i + 1][j] < c[i][j]) ans += (c[i][j] - c[i + 1][j]);
				if(c[i][j - 1] < c[i][j]) ans += (c[i][j] - c[i][j - 1]);
				if(c[i][j + 1] < c[i][j]) ans += (c[i][j] - c[i][j + 1]);
				ans += 1;
			}
		}
		
		cout << ans << endl;
	}
	return 0;
}
上一篇:医用一次性口罩AS 4381-2015合成血液渗透检测


下一篇:航电oj2013-2015 参考代码