結果
問題 | No.326 あみだますたー |
ユーザー | hotpepsi |
提出日時 | 2015-12-22 00:22:52 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 10 ms / 2,000 ms |
コード長 | 796 bytes |
コンパイル時間 | 624 ms |
コンパイル使用メモリ | 63,456 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 23:23:37 |
合計ジャッジ時間 | 1,931 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 26 |
ソースコード
#include <iostream> #include <algorithm> #include <vector> using namespace std; typedef long long LL; int main(int argc, char *argv[]) { int N, K; cin >> N >> K; int p[101]; for (int i = 1; i <= 100; ++i) { p[i] = i; } for (int i = 0; i < K; ++i) { int x, y; cin >> x >> y; swap(p[x], p[y]); } int target[101]; for (int i = 1; i <= N; ++i) { cin >> target[i]; } vector<int> v; for (int i = 1; i <= N; ++i) { for (int j = 1; j <= N; ++j) { if (target[j] == i) { for (int k = 1; k <= N; ++k) { if (p[k] == j) { while (k > i) { --k; v.push_back(k); swap(p[k], p[k + 1]); } } } } } } cout << v.size() << endl; for (int i = 0; i != v.size(); ++i) { cout << v[i] << " " << (v[i] + 1) << endl; } return 0; }