結果
問題 | No.202 1円玉投げ |
ユーザー |
![]() |
提出日時 | 2015-05-04 17:35:04 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,040 bytes |
コンパイル時間 | 843 ms |
コンパイル使用メモリ | 71,124 KB |
実行使用メモリ | 12,160 KB |
最終ジャッジ日時 | 2024-12-22 08:20:21 |
合計ジャッジ時間 | 63,043 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 TLE * 1 |
ソースコード
#include<iostream> #include<algorithm> #include<string> #include<vector> #include<set> using namespace std; void solve202(){ int N; cin >> N; vector<int> Input_X(N); vector<int> Input_Y(N); int MAX_X,MAX_Y; MAX_X = MAX_Y = 0; for (int i = 0; i < N; i++) { cin >> Input_X[i] >> Input_Y[i]; MAX_X = max(MAX_X, Input_X[i]); MAX_Y = max(MAX_Y, Input_Y[i]); } set<pair<int, int> > map; int ans = 0; /* for (int i = 0; i < 20000; i++) { for (int j = 0; j < 20000; j++) { map[i][j] = 0; } }*/ for (int count = 0; count < N; count++) { int x, y; x = Input_X[count]; y = Input_Y[count]; bool flag = true; for (int i = -20; i <= 20; i++) { for (int j = -20; j <= 20; j++) { if ((abs( i)*abs( i) + abs( j)*abs( j)) < 400){ if(map.find(make_pair(x+i,y+j)) != map.end()) flag = false; } } } //cout << x << " " << y << " "<<map[x][y]<< endl; if (flag) { ans++; map.insert(make_pair(x, y)); } } cout << ans << endl; } int main(){ solve202(); return 0; }