Submission #12223
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include<iostream> using namespace std; int d[11][11],n,m,s,a,b,c,dp[2048][11],M=1e9; main() { cin>>n>>m>>s; for ( int i=1;i<=n;i++) for ( int j=1;j<=n;j++) if (i-j)d[i][j]=1e8; for ( int i=1;i<=m;i++) { cin>>a>>b>>c; d[a][b]=d[b][a]=c; } for ( int k=1;k<=n;k++) for ( int i=1;i<=n;i++) for ( int j=1;j<=n;j++)d[i][j]=min(d[i][j],d[i][k]+d[k][j]); for ( int i=0;i<1<<n;i++) for ( int j=1;j<=n;j++)dp[i][j]=1<<28; dp[1<<s-1][s]=0; for ( int i=1<<s-1;i<1<<n;i++) { for ( int j=1;j<=n;j++) { for ( int k=1;k<=n;k++) { if (i&1<<k-1) continue ; dp[i|1<<k-1][k]=min(dp[i|1<<k-1][k],dp[i][j]+d[j][k]); } } } for ( int i=1;i<=n;i++)M=min(M,(dp[(1<<n)-1][i]==-1?1<<28:dp[(1<<n)-1][i])+d[i][s]); cout<<M<<endl; } |
ステータス
項目 | データ |
---|---|
問題 | 0010 - クッキー |
ユーザー名 | kotatsugame |
投稿日時 | 2017-01-29 02:57:56 |
言語 | C++11 |
状態 | Accepted |
得点 | 35 |
ソースコード長 | 741 Byte |
最大実行時間 | 23 ms |
最大メモリ使用量 | 516 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | 小課題1 | 5 / 5 | cookies_input1.txt |
2 | 小課題2 | 10 / 10 | cookies_input2.txt |
3 | 小課題3 | 20 / 20 | cookies_input3.txt |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # | ||
---|---|---|---|---|---|---|
cookies_input1.txt | AC | 23 ms | 476 KB |
1
|
||
cookies_input2.txt | AC | 16 ms | 456 KB |
2
|
||
cookies_input3.txt | AC | 18 ms | 516 KB |
3
|