2010-07-30
SRM477 Easy: Islands
過去問 | |
![]()
寝倒し回。
- 隣接する六角形のマス目同士が異なる属性なら海岸。それだけ
- 最近HHKB触ってなくて打鍵がもたつく...
- 229.37 (8'40'')
- passed
- とりあえずこれが取れてればレーティングは微増だったっぽい
using namespace std;
#define sz(a) int((a).size())
#define pb push_back
#define FOR(var,from,to) for(int var=(from);var<=(to);var++)
#define rep(var,n) for(int var=0;var<(n);var++)
#define all(c) (c).begin(),(c).end()
class Islands {
public:
int beachLength(vector <string> kingdom) {
int R=sz(kingdom),C=sz(kingdom[0]);
int b=0;
rep(r,R){
rep(c,C-1){
if(kingdom[r][c]!=kingdom[r][c+1])b++;
}
}
for(int r=0;r<R-1;r+=2){
rep(c,C){
if(kingdom[r][c]!=kingdom[r+1][c])b++;
}
rep(c,C-1){
if(kingdom[r][c+1]!=kingdom[r+1][c])b++;
}
}
for(int r=1;r<R-1;r+=2){
rep(c,C){
if(kingdom[r][c]!=kingdom[r+1][c])b++;
}
rep(c,C-1){
if(kingdom[r][c]!=kingdom[r+1][c+1])b++;
}
}
return b;
}
};
コメント
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/n4_t/20100730