結果
問題 | No.326 あみだますたー |
ユーザー |
|
提出日時 | 2017-12-03 10:33:17 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 10 ms / 2,000 ms |
コード長 | 1,003 bytes |
コンパイル時間 | 1,376 ms |
コンパイル使用メモリ | 160,996 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-28 08:41:45 |
合計ジャッジ時間 | 2,924 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 26 |
ソースコード
#include "bits/stdc++.h"using namespace std;#define print(x) cout<<x<<endl;#define rep(i,a,b) for(int i=a;i<b;i++)#define REP(i,a) for(int i=0;i<a;i++)#define printall(n,array) for(int i=0;i<n;i++){cout<<array[i]<<" ";}cout<<endl;typedef long long ll;typedef pair<int, int> PI;typedef pair<int, PI> V;typedef vector<int> VE;const ll mod = 1000000007; //10^9+7int main(){int n,k;cin>>n;cin>>k;int x[6002];int y[6002];REP(i,k)cin>>x[i]>>y[i];int a[102];rep(i,1,n+1)cin>>a[i];int g[102];rep(i,1,n+1){rep(j,1,n+1){if(a[j]==i)g[i]=j;}}int s[102];rep(i,0,n+1)s[i]=i;REP(i,k)swap(s[x[i]],s[y[i]]);//printall(n+1,s);vector<int> v;rep(i,1,n+1){rep(j,i+1,n+1){if(g[i]==s[j]){for(int k=j;k>1;k--){v.push_back(k-1);swap(s[k],s[k-1]);//printall(n+1,s);if(g[i]==s[i])break;}}if(g[i]==s[i])break;}}print(v.size());REP(i,v.size())print(v[i]<<" "<<v[i]+1);}