結果

問題 No.506 限られたジャパリまん
ユーザー latte0119
提出日時 2017-04-21 23:08:49
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 1,797 bytes
コンパイル時間 1,648 ms
コンパイル使用メモリ 166,248 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-28 04:12:33
合計ジャッジ時間 7,044 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 24 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,n) for(int i=0;i<(n);i++)
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define fi first
#define se second
typedef vector<int>vint;
typedef pair<int,int>pint;
typedef vector<pint>vpint;
template<typename A,typename B>inline void chmin(A &a,B b){if(a>b)a=b;}
template<typename A,typename B>inline void chmax(A &a,B b){if(a<b)a=b;}
int H,W,K,P;
int dy[]={-1,0,1,0};
int dx[]={0,-1,0,1};
int x[22],y[22];
string name[22];
bool ex[44][44];
int dist[44][44];
int way[44][44];
int calc(int b){
memset(ex,0,sizeof(ex));
memset(way,0,sizeof(way));
rep(i,K)if(!(b>>i&1))ex[y[i]][x[i]]=1;
fill_n(*dist,44*44,INT_MAX);
dist[0][0]=0;
way[0][0]=1;
queue<pint>que;
que.push({0,0});
while(que.size()){
int y,x;
tie(y,x)=que.front();
que.pop();
if(ex[y][x]){
way[y][x]=0;
continue;
}
rep(d,4){
int ny=y+dy[d];
int nx=x+dx[d];
if(ny<0||ny>H||nx<0||nx>W)continue;
if(dist[ny][nx]==dist[y][x]+1){
way[ny][nx]+=way[y][x];
continue;
}
if(dist[ny][nx]!=INT_MAX)continue;
dist[ny][nx]=dist[y][x]+1;
way[ny][nx]=way[y][x];
que.push({ny,nx});
}
}
return way[H][W];
}
signed main(){
cin>>H>>W>>K>>P;
rep(i,K)cin>>y[i]>>x[i]>>name[i];
int ma=0,arcma=0;
rep(i,1<<K){
int pc=0;
rep(j,K)if(i>>j&1)pc++;
if(pc>P)continue;
int tmp=calc(i);
if(ma<tmp){
ma=tmp;
arcma=i;
}
}
cout<<ma%1000000007<<endl;
rep(i,K)if(arcma>>i&1)cout<<name[i]<<endl;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0