結果
問題 |
No.90 品物の並び替え
|
ユーザー |
|
提出日時 | 2016-08-01 10:25:26 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 356 ms / 5,000 ms |
コード長 | 836 bytes |
コンパイル時間 | 696 ms |
コンパイル使用メモリ | 64,720 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-06 21:37:48 |
合計ジャッジ時間 | 1,780 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#include <iostream> #include <vector> using namespace std; int n; int x; void calc(int a,int b,vector<vector<int>> v,vector<int> vi){ for(int i=0; i<n; ++i){ b+=v[a][i]; } for(int i=0; i<n; ++i){ v[i][a]=0; } vi[a]=1; int c; c=0; for(int i=0; i<n; ++i){ if(vi[i]==1) c++; } if(c==n){ if(x<b){ x=b; } } else { for(int i=0; i<n; ++i){ if(vi[i]==0){ calc(i,b,v,vi); } } } } int main(){ int m,a,b,c; cin>>n>>m; vector<vector<int>> g(n); for(int i=0; i<n; ++i){ g[i].resize(n); for(int j=0; j<n; ++j){ g[i][j]=0; } } for(int i=0; i<m; ++i){ cin>>a>>b>>c; g[a][b]=c; } vector<int> vi(n); for(int i=0; i<n; ++i){ vi[i]=0; } x=0; for(int i=0; i<n; ++i){ calc(i,0,g,vi); } cout<<x<<endl; return 0; }