| 提出番号 | 1265 |
|---|---|
| 提出者 | pluton |
| 言語 | C++ |
| 提出日時 | 2018-06-20 21:10:47 |
| 問題名 | (62)SuperCon2018(独自テスト) |
| 結果 | CE |
| 点数 | 0 |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | CE | 0 | 2ms | 8064KB |
| 2 | CE | 0 | 1ms | 8704KB |
| 3 | CE | 0 | 2ms | 7936KB |
| 4 | CE | 0 | 2ms | 8656KB |
| 5 | CE | 0 | 2ms | 7936KB |
| 6 | CE | 0 | 2ms | 8400KB |
| 7 | CE | 0 | 2ms | 8448KB |
| 8 | CE | 0 | 2ms | 7952KB |
| 9 | CE | 0 | 1ms | 8656KB |
| 10 | CE | 0 | 2ms | 8320KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 11 | CE | 0 | 2ms | 8256KB |
| 12 | CE | 0 | 2ms | 8032KB |
| 13 | CE | 0 | 2ms | 8704KB |
| 14 | CE | 0 | 2ms | 8400KB |
| 15 | CE | 0 | 2ms | 8400KB |
| 16 | CE | 0 | 2ms | 7824KB |
| 17 | CE | 0 | 2ms | 8416KB |
| 18 | CE | 0 | 2ms | 8400KB |
| 19 | CE | 0 | 2ms | 8688KB |
| 20 | CE | 0 | 2ms | 8432KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 21 | CE | 0 | 279ms | 7504KB |
| 22 | CE | 0 | 377ms | 8048KB |
| 23 | CE | 0 | 128ms | 8640KB |
| 24 | CE | 0 | 240ms | 8432KB |
| 25 | CE | 0 | 272ms | 7888KB |
| 26 | CE | 0 | 349ms | 8736KB |
| 27 | CE | 0 | 337ms | 8400KB |
| 28 | CE | 0 | 240ms | 8128KB |
| 29 | CE | 0 | 212ms | 8032KB |
| 30 | CE | 0 | 341ms | 8416KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 31 | CE | 0 | 147ms | 8416KB |
| 32 | CE | 0 | 289ms | 8688KB |
| 33 | CE | 0 | 302ms | 8384KB |
| 34 | CE | 0 | 172ms | 7616KB |
| 35 | CE | 0 | 312ms | 8368KB |
| 36 | CE | 0 | 260ms | 8688KB |
| 37 | CE | 0 | 251ms | 8720KB |
| 38 | CE | 0 | 250ms | 8688KB |
| 39 | CE | 0 | 266ms | 7936KB |
| 40 | CE | 0 | 300ms | 8208KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 41 | CE | 0 | 336ms | 7968KB |
| 42 | CE | 0 | 171ms | 7248KB |
| 43 | CE | 0 | 216ms | 8208KB |
| 44 | CE | 0 | 209ms | 8432KB |
| 45 | CE | 0 | 212ms | 7552KB |
| 46 | CE | 0 | 153ms | 8432KB |
| 47 | CE | 0 | 385ms | 8432KB |
| 48 | CE | 0 | 217ms | 8400KB |
| 49 | CE | 0 | 181ms | 8432KB |
| 50 | CE | 0 | 145ms | 8720KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 51 | CE | 0 | 100ms | 8400KB |
| 52 | CE | 0 | 253ms | 7472KB |
| 53 | CE | 0 | 283ms | 8432KB |
| 54 | CE | 0 | 205ms | 7504KB |
| 55 | CE | 0 | 235ms | 8400KB |
| 56 | CE | 0 | 246ms | 8064KB |
| 57 | CE | 0 | 191ms | 7904KB |
| 58 | CE | 0 | 167ms | 8704KB |
| 59 | CE | 0 | 148ms | 8400KB |
| 60 | CE | 0 | 261ms | 8624KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 61 | CE | 0 | 171ms | 8416KB |
| 62 | CE | 0 | 208ms | 7472KB |
| 63 | CE | 0 | 311ms | 8416KB |
| 64 | CE | 0 | 176ms | 8144KB |
| 65 | CE | 0 | 160ms | 8672KB |
| 66 | CE | 0 | 168ms | 8112KB |
| 67 | CE | 0 | 192ms | 8128KB |
| 68 | CE | 0 | 124ms | 7952KB |
| 69 | CE | 0 | 115ms | 8016KB |
| 70 | CE | 0 | 278ms | 7952KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 71 | CE | 0 | 69ms | 8400KB |
| 72 | CE | 0 | 297ms | 8064KB |
| 73 | CE | 0 | 449ms | 7536KB |
| 74 | CE | 0 | 228ms | 7632KB |
| 75 | CE | 0 | 101ms | 8704KB |
| 76 | CE | 0 | 88ms | 8688KB |
| 77 | CE | 0 | 179ms | 8416KB |
| 78 | CE | 0 | 139ms | 7472KB |
| 79 | CE | 0 | 149ms | 8336KB |
| 80 | CE | 0 | 260ms | 8416KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 81 | CE | 0 | 169ms | 8240KB |
| 82 | CE | 0 | 152ms | 7264KB |
| 83 | CE | 0 | 205ms | 8048KB |
| 84 | CE | 0 | 213ms | 8688KB |
| 85 | CE | 0 | 223ms | 8064KB |
| 86 | CE | 0 | 139ms | 8448KB |
| 87 | CE | 0 | 178ms | 7520KB |
| 88 | CE | 0 | 188ms | 8288KB |
| 89 | CE | 0 | 118ms | 8000KB |
| 90 | CE | 0 | 215ms | 8192KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 91 | CE | 0 | 187ms | 8416KB |
| 92 | CE | 0 | 179ms | 8416KB |
| 93 | CE | 0 | 243ms | 8384KB |
| 94 | CE | 0 | 151ms | 8144KB |
| 95 | CE | 0 | 133ms | 7248KB |
| 96 | CE | 0 | 334ms | 8448KB |
| 97 | CE | 0 | 181ms | 8640KB |
| 98 | CE | 0 | 74ms | 8160KB |
| 99 | CE | 0 | 273ms | 8432KB |
| 100 | CE | 0 | 183ms | 7872KB |
//SuperCon 2018 予選問題1級
//
//チーム名: COREDUMP(こあだんぷ)
#include <algorithm>
#include <cstdio>
#define ORIGIN 20
//原点を(20, 20)とします
int scN,scM;
int scB[2][10];
clock_t scStartTime,scEndTime;
void scInput(){
int i;
scanf("%d%d",&scN,&scM);
for(i=0;i<scM;++i){scanf("%d%d",&scB[0][i],&scB[1][i]);}
scStartTime=clock();
}
void scOutput(int s){
scEndTime=clock();
printf("Ans= %d, time=%d\n",s,(int)(scEndTime-scStartTime));
}
const int dx[] = {1, 0, -1, 0};
const int dy[] = {0, 1, 0, -1};
bool map[ORIGIN * 2][ORIGIN * 2];
int ans = 0;
void dfs(int x = ORIGIN, int y = ORIGIN, int count = 0);
//長さがNで原点に戻るSALをDFS(深さ優先探索)で探索する関数の宣言です
int abs(int x){
if(x < 0) return -x;
return x;
}
int main(){
scInput();
for(int i = 0; i < scM; ++i){
map[scB[0][i] + ORIGIN][scB[1][i] + ORIGIN] = true;
}
//予め障害物の座標を保存しておきます
dfs();
scOutput(ans);
return 0;
}
void dfs(int x, int y, int count){
int dis = abs(x - ORIGIN) + abs(y - ORIGIN);
if(dis > scN - count){
return;
}
//原点からの距離が残りの回数で戻れる距離より大きいときに探索を中止します
if(dis == 0 && count > 0){
if(scN == count){
++ans;
}
return;
}
//原点に到達し、長さがNの場合のみ、答えに1を足します
for(int i = 0; i < 4; i++){
int rx = x + dx[i];
int ry = y + dy[i];
if(!map[rx][ry]){
map[rx][ry] = true;
dfs(rx, ry, count + 1);
map[rx][ry] = false;
}
}
}