| 提出番号 | 1302 |
|---|---|
| 提出者 | WA_TLE |
| 言語 | C++ |
| 提出日時 | 2018-06-20 22:28:42 |
| 問題名 | (62)SuperCon2018(独自テスト) |
| 結果 | CE |
| 点数 | 0 |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | CE | 0 | 0ms | 0KB |
| 2 | CE | 0 | 0ms | 0KB |
| 3 | CE | 0 | 0ms | 0KB |
| 4 | CE | 0 | 0ms | 0KB |
| 5 | CE | 0 | 0ms | 0KB |
| 6 | CE | 0 | 0ms | 0KB |
| 7 | CE | 0 | 0ms | 0KB |
| 8 | CE | 0 | 0ms | 0KB |
| 9 | CE | 0 | 0ms | 0KB |
| 10 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 11 | CE | 0 | 0ms | 0KB |
| 12 | CE | 0 | 0ms | 0KB |
| 13 | CE | 0 | 0ms | 0KB |
| 14 | CE | 0 | 0ms | 0KB |
| 15 | CE | 0 | 0ms | 0KB |
| 16 | CE | 0 | 0ms | 0KB |
| 17 | CE | 0 | 0ms | 0KB |
| 18 | CE | 0 | 0ms | 0KB |
| 19 | CE | 0 | 0ms | 0KB |
| 20 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 21 | CE | 0 | 0ms | 0KB |
| 22 | CE | 0 | 0ms | 0KB |
| 23 | CE | 0 | 0ms | 0KB |
| 24 | CE | 0 | 0ms | 0KB |
| 25 | CE | 0 | 0ms | 0KB |
| 26 | CE | 0 | 0ms | 0KB |
| 27 | CE | 0 | 0ms | 0KB |
| 28 | CE | 0 | 0ms | 0KB |
| 29 | CE | 0 | 0ms | 0KB |
| 30 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 31 | CE | 0 | 0ms | 0KB |
| 32 | CE | 0 | 0ms | 0KB |
| 33 | CE | 0 | 0ms | 0KB |
| 34 | CE | 0 | 0ms | 0KB |
| 35 | CE | 0 | 0ms | 0KB |
| 36 | CE | 0 | 0ms | 0KB |
| 37 | CE | 0 | 0ms | 0KB |
| 38 | CE | 0 | 0ms | 0KB |
| 39 | CE | 0 | 0ms | 0KB |
| 40 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 41 | CE | 0 | 0ms | 0KB |
| 42 | CE | 0 | 0ms | 0KB |
| 43 | CE | 0 | 0ms | 0KB |
| 44 | CE | 0 | 0ms | 0KB |
| 45 | CE | 0 | 0ms | 0KB |
| 46 | CE | 0 | 0ms | 0KB |
| 47 | CE | 0 | 0ms | 0KB |
| 48 | CE | 0 | 0ms | 0KB |
| 49 | CE | 0 | 0ms | 0KB |
| 50 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 51 | CE | 0 | 0ms | 0KB |
| 52 | CE | 0 | 0ms | 0KB |
| 53 | CE | 0 | 0ms | 0KB |
| 54 | CE | 0 | 0ms | 0KB |
| 55 | CE | 0 | 0ms | 0KB |
| 56 | CE | 0 | 0ms | 0KB |
| 57 | CE | 0 | 0ms | 0KB |
| 58 | CE | 0 | 0ms | 0KB |
| 59 | CE | 0 | 0ms | 0KB |
| 60 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 61 | CE | 0 | 0ms | 0KB |
| 62 | CE | 0 | 0ms | 0KB |
| 63 | CE | 0 | 0ms | 0KB |
| 64 | CE | 0 | 0ms | 0KB |
| 65 | CE | 0 | 0ms | 0KB |
| 66 | CE | 0 | 0ms | 0KB |
| 67 | CE | 0 | 0ms | 0KB |
| 68 | CE | 0 | 0ms | 0KB |
| 69 | CE | 0 | 0ms | 0KB |
| 70 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 71 | CE | 0 | 0ms | 0KB |
| 72 | CE | 0 | 0ms | 0KB |
| 73 | CE | 0 | 0ms | 0KB |
| 74 | CE | 0 | 0ms | 0KB |
| 75 | CE | 0 | 0ms | 0KB |
| 76 | CE | 0 | 0ms | 0KB |
| 77 | CE | 0 | 0ms | 0KB |
| 78 | CE | 0 | 0ms | 0KB |
| 79 | CE | 0 | 0ms | 0KB |
| 80 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 81 | CE | 0 | 0ms | 0KB |
| 82 | CE | 0 | 0ms | 0KB |
| 83 | CE | 0 | 0ms | 0KB |
| 84 | CE | 0 | 0ms | 0KB |
| 85 | CE | 0 | 0ms | 0KB |
| 86 | CE | 0 | 0ms | 0KB |
| 87 | CE | 0 | 0ms | 0KB |
| 88 | CE | 0 | 0ms | 0KB |
| 89 | CE | 0 | 0ms | 0KB |
| 90 | CE | 0 | 0ms | 0KB |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 91 | CE | 0 | 0ms | 0KB |
| 92 | CE | 0 | 0ms | 0KB |
| 93 | CE | 0 | 0ms | 0KB |
| 94 | CE | 0 | 0ms | 0KB |
| 95 | CE | 0 | 0ms | 0KB |
| 96 | CE | 0 | 0ms | 0KB |
| 97 | CE | 0 | 0ms | 0KB |
| 98 | CE | 0 | 0ms | 0KB |
| 99 | CE | 0 | 0ms | 0KB |
| 100 | CE | 0 | 0ms | 0KB |
#include<stdio.h>
#include<time.h>
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));
}
#include<stdio.h>
#include<stdlib.h>
#include<cmath>
#include<iostream>
#include "sc1.h"
#include<array>
using namespace std;
#define llint long long
const int ntyu=10;//真ん中
const int basiz=21;
struct state{
array<int,basiz>ban;
int gy,gx;
};
const int dx[4]={1,0,-1,0};
const int dy[4]={0,-1,0,1};
llint solve(state&in,int turn){
//状態、残りターン
if(turn!=scN&&in.gy==ntyu&&in.gx==ntyu){return 0;}
if(abs(ntyu-in.gy)+abs(ntyu-in.gx)>turn){return 0;}
if(turn==1){return 1;}//必ず1通りなので
llint ans=0;
for(int d=0;d<4;d++){
int ny=in.gy+dy[d];
int nx=in.gx+dx[d];
if(ny<0||ny>basiz||nx<0||nx>basiz){continue;}
if((in.ban[ny])&(1<<nx)){continue;}//そこにはすでに訪れている
in.ban[ny]+=(1<<nx);
in.gy+=dy[d];
in.gx+=dx[d];
ans+=solve(in,turn-1);
in.ban[ny]-=(1<<nx);
in.gy-=dy[d];
in.gx-=dx[d];//戻している
}
return ans;
}
int main(void){
scInput();
state in;
in.gy=ntyu;
in.gx=ntyu;
for(int i=0;i<basiz;i++){in.ban[i]=0;}
for(int i=0;i<scM;i++){
int sy=scB[0][i]+ntyu;
int sx=scB[1][i]+ntyu;
if(sy<0||sy>basiz||sx<0||sx>basiz){continue;}
in.ban[sy]+=(1<<sx);
}
scOutput(solve(in,scN));
return 0;
}