結果
問題 | No.479 頂点は要らない |
ユーザー |
|
提出日時 | 2016-10-11 21:04:13 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,149 bytes |
コンパイル時間 | 1,967 ms |
コンパイル使用メモリ | 181,204 KB |
実行使用メモリ | 29,676 KB |
最終ジャッジ日時 | 2024-12-23 05:42:38 |
合計ジャッジ時間 | 4,264 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 38 |
ソースコード
/* * assert code * * stdinが制約を満たすならば通常終了(WA),そうでないならばabort(RE)する. */ #include<bits/stdc++.h> using namespace std; int main(){ long long n,m; // (´・ω・`) int i,j,k; int a,b; cin >> n>>m; assert(2<=n && n<=100000); assert((n+1)/2<=m && m<=n*(n-1)/2 && m<=100000); vector<vector<int>> vertex(n); vector<pair<int,int>> edgeset(m); vector<unordered_map<int,bool>> checkmultiedge(n); for (i=0;i<m;i++){ assert(2==scanf("%d%d",&a,&b)); assert(0<=a && a<n); assert(0<=b && b<n); assert(a<b); edgeset[i].first=b; edgeset[i].second=a; vertex[a].emplace_back(i); vertex[b].emplace_back(i); // 多重辺は存在しない assert(!checkmultiedge[a].count(b)); checkmultiedge[a][b]=true; } // 不要な入力が無いかどうか assert(scanf("%d",&a)<=0); for (i=0;i<n;i++){ // 孤立頂点は存在しない assert(0<vertex[i].size()); } cout << "problem ok" << endl; return 0; }