Please sign in first.
Submission #2613714
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pp;
typedef pair<ll,ll> pll;
void read(int& x){ scanf("%d",&x); }
void read(ll& x){ scanf("%lld",&x); }
template<typename T,typename... Args>
void read(T& a,Args&... b){ read(a); read(b...); }
#define all(x) (x).begin(),(x).end()
#define pb push_back
#define eb emplace_back
#define x first
#define y second
int n, D[2];
vector<pp> d[2];
int iro[600][600][2];
char vis[600][600][2];
int cnt[4];
void dfs(int x, int y, int di){
vis[x][y][di]=1;
for(auto t:d[di]){
int dx, dy; tie(dx, dy) = t;
int nx=x+dx, ny=y+dy;
if(0<=nx && 0<=ny && nx<2*n && ny<2*n){
if(!vis[nx][ny][di]){
iro[nx][ny][di] = iro[x][y][di] ^ 1;
dfs(nx, ny, di);
}
}
}
}
int main()
{
read(n, D[0], D[1]);
const int n2 = n*2;
for(int di=0; di<2; ++di){
for(int dx=0; dx<n2; ++dx) for(int dy=0; dy<n2; ++dy){
if(dx*dx + dy*dy == D[di]){
d[di].eb(dx, dy);
d[di].eb(dx, -dy);
d[di].eb(-dx, dy);
d[di].eb(-dx, -dy);
}
}
}
for(int i=0; i<n2; ++i) for(int j=0; j<n2; ++j){
for(int di=0; di<2; ++di) if(!vis[i][j][di]) dfs(i, j, di);
++cnt[(iro[i][j][0]<<1)|iro[i][j][1]];
}
for(int i=0; i<4; ++i) if(cnt[i]>=n*n){
int cc=0, tg=n*n;
for(int x=0; x<n2; ++x){
for(int y=0; y<n2; ++y){
if(((iro[x][y][0]<<1)|iro[x][y][1]) == i){
printf("%d %d\n", x, y);
if(++cc == tg) return 0;
}
}
}
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Choosing Points |
| User | Namnamseo |
| Language | C++14 (GCC 5.4.1) |
| Score | 800 |
| Code Size | 1520 Byte |
| Status | AC |
| Exec Time | 82 ms |
| Memory | 32512 KiB |
Compile Error
./Main.cpp: In function ‘void read(int&)’:
./Main.cpp:6:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
void read(int& x){ scanf("%d",&x); }
^
./Main.cpp: In function ‘void read(ll&)’:
./Main.cpp:7:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
void read(ll& x){ scanf("%lld",&x); }
^
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 800 / 800 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample01.txt, sample02.txt |
| All | sample01.txt, sample02.txt, extra00.txt, extra01.txt, extra02.txt, extra03.txt, extra04.txt, extra05.txt, extra06.txt, extra07.txt, extra08.txt, extra09.txt, extra10.txt, extra11.txt, extra12.txt, extra13.txt, extra14.txt, extra15.txt, extra16.txt, extra17.txt, extra18.txt, extra19.txt, extra20.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, sample01.txt, sample02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| extra00.txt | AC | 36 ms | 4480 KiB |
| extra01.txt | AC | 37 ms | 4480 KiB |
| extra02.txt | AC | 47 ms | 4864 KiB |
| extra03.txt | AC | 54 ms | 5760 KiB |
| extra04.txt | AC | 52 ms | 10752 KiB |
| extra05.txt | AC | 32 ms | 4352 KiB |
| extra06.txt | AC | 46 ms | 7296 KiB |
| extra07.txt | AC | 51 ms | 7424 KiB |
| extra08.txt | AC | 72 ms | 10624 KiB |
| extra09.txt | AC | 30 ms | 4480 KiB |
| extra10.txt | AC | 57 ms | 7424 KiB |
| extra11.txt | AC | 36 ms | 4480 KiB |
| extra12.txt | AC | 40 ms | 4480 KiB |
| extra13.txt | AC | 32 ms | 4480 KiB |
| extra14.txt | AC | 34 ms | 4480 KiB |
| extra15.txt | AC | 35 ms | 4480 KiB |
| extra16.txt | AC | 48 ms | 4864 KiB |
| extra17.txt | AC | 34 ms | 4608 KiB |
| extra18.txt | AC | 35 ms | 4864 KiB |
| extra19.txt | AC | 36 ms | 6784 KiB |
| extra20.txt | AC | 52 ms | 32512 KiB |
| in01.txt | AC | 59 ms | 28544 KiB |
| in02.txt | AC | 63 ms | 8960 KiB |
| in03.txt | AC | 66 ms | 24320 KiB |
| in04.txt | AC | 55 ms | 15104 KiB |
| in05.txt | AC | 69 ms | 27008 KiB |
| in06.txt | AC | 58 ms | 18304 KiB |
| in07.txt | AC | 61 ms | 10368 KiB |
| in08.txt | AC | 40 ms | 6144 KiB |
| in09.txt | AC | 17 ms | 6016 KiB |
| in10.txt | AC | 47 ms | 17792 KiB |
| in11.txt | AC | 42 ms | 17408 KiB |
| in12.txt | AC | 66 ms | 30464 KiB |
| in13.txt | AC | 45 ms | 10112 KiB |
| in14.txt | AC | 66 ms | 32128 KiB |
| in15.txt | AC | 73 ms | 30208 KiB |
| in16.txt | AC | 52 ms | 11392 KiB |
| in17.txt | AC | 82 ms | 31488 KiB |
| in18.txt | AC | 66 ms | 32512 KiB |
| in19.txt | AC | 61 ms | 32512 KiB |
| in20.txt | AC | 37 ms | 6144 KiB |
| in21.txt | AC | 36 ms | 6144 KiB |
| sample01.txt | AC | 1 ms | 256 KiB |
| sample02.txt | AC | 1 ms | 256 KiB |