結果
問題 |
No.429 CupShuffle
|
ユーザー |
![]() |
提出日時 | 2016-10-02 22:39:42 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 76 ms / 2,000 ms |
コード長 | 930 bytes |
コンパイル時間 | 677 ms |
コンパイル使用メモリ | 74,176 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-21 13:20:09 |
合計ジャッジ時間 | 1,745 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:43:31: warning: ‘idx’ may be used uninitialized in this function [-Wmaybe-uninitialized] 43 | for (int i = k - 1; i > idx; --i){ | ~~^~~~~
ソースコード
#include <iostream> #include <algorithm> #include <vector> #include <queue> #include <cstdio> #include <set> #include <string> #include <cmath> using namespace std; typedef long long ll; #define rep(i,n) for(int i=0;i<(n);i++) const int INF = 1e9; int a[100010], b[100010]; int main(void){ int n, k, x; cin >> n >> k >> x; int idx; rep(i, k){ // printf("%d\n", i); string ta, tb; cin >> ta >> tb; if(ta == "?" && tb == "?"){ idx = i; a[i] = 0, b[i] = 0; }else{ a[i] = stoi(ta); b[i] = stoi(tb); } } vector<int> rv(n); rep(i, n){ cin >> rv[i]; } vector<int> v(n); rep(i, n){ v[i] = i + 1; } //sei for (int i = 0; i < idx; ++i){ swap(v[a[i] - 1], v[b[i] - 1]); } for (int i = k - 1; i > idx; --i){ swap(rv[a[i] - 1], rv[b[i] - 1]); } vector<int> ans; rep(i, n){ if(v[i] != rv[i]) ans.push_back(i); } rep(i, ans.size()){ printf("%d ", ans[i] + 1); } printf("\n"); return 0; }