結果

問題 No.202 1円玉投げ
ユーザー Tawara
提出日時 2015-08-04 23:46:11
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
MLE  
実行時間 -
コード長 1,253 bytes
コンパイル時間 865 ms
コンパイル使用メモリ 72,132 KB
実行使用メモリ 816,160 KB
最終ジャッジ日時 2024-12-22 09:49:37
合計ジャッジ時間 54,987 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample MLE * 3
other MLE * 38
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:63:17: warning: ‘ans’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   63 |         cout << ans << endl;
      |                 ^~~

ソースコード

diff #

#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <algorithm>
#include <cmath>
#include <string>

using namespace std;

typedef vector <int> VI;
typedef vector <VI> VVI;
typedef vector <string> VS;
typedef pair<int,int> PII;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair <int, LL> PIL;
typedef vector <PIL> VPIL;


#define each(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); i++)
#define sort(c) sort((c).begin(),(c).end())

#define range(i,a,b) for(int i=(a); i < (b); i++)
#define rep(i,n) range(i,0,n)

#define MAX_INT 2147483647

int ones[20041][20041];
int dx[4] = {1,0,-1,0};
int dy[4] = {0,1,0,-1};

int square(int x){
	return x*x;
}
bool is_in(int ax, int ay, int bx, int by){
	return square(ax-bx) + square(ay-by) < 400;
}
void dfs(int cx, int cy, int hx, int hy){
	int nx, ny;
	ones[hy][hx] = 0;
	rep(i,4){
		nx = hx + dx[i];
		ny = hy + dy[i];
		if (ones[ny][nx] && is_in(cx,cy,nx,ny)) dfs(cx,cy,nx,ny);
	}
}
int main(){
	int N, X, Y, ans;
	rep(i,20041) rep(j, 20041) ones[i][j] = 1;
	cin >> N;
	rep(i,N){
		cin >> X >> Y;
		X += 20; Y += 20;
		if(ones[Y][X]){
			dfs(X,Y,X,Y);
			ans += 1;
		}
	}
	cout << ans << endl;
	return 0;
}
0