c++:問題ライブラリの整理
827 ワード
文書ディレクトリ
(ここでカスタムディレクトリのタイトルを書きます.皆さんのプログラム設計レベルを高めるために、謝先生は校内の問題ライブラリを創立しました.問題ライブラリにはn題があります.i題目の難易度はtiで表しています.このn題は易から難までの順序で並べられています.
今先生は人m道の難易度がdjの問題を問題庫に挿入することを決定して、問題庫の中の問題は依然として易から難までの順序で並べます.
典型的な合併ソートテーマ、このテーマは直接暴力的に合併し、m数グループがソートされていないことに注意し、sortプログラムを追加することを提案します:#include//合併ソートusing namespace std;int n,m,a[1010],b[1010]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=m;i++)cin>>b[i]; sort(b+1,b+m+1); int k=n+m,x=1,y=1; for(int i=1;i<=k;i++){ if(a[x]<=b[y]){ cout< x++; } else{ cout< y++; } if(x>n){ for(;y<=m;y++)cout< break; } if(y>m){ for(;x<=n;x++)cout< break; }
}入力)
(ここでカスタムディレクトリのタイトルを書きます.皆さんのプログラム設計レベルを高めるために、謝先生は校内の問題ライブラリを創立しました.問題ライブラリにはn題があります.i題目の難易度はtiで表しています.このn題は易から難までの順序で並べられています.
今先生は人m道の難易度がdjの問題を問題庫に挿入することを決定して、問題庫の中の問題は依然として易から難までの順序で並べます.
典型的な合併ソートテーマ、このテーマは直接暴力的に合併し、m数グループがソートされていないことに注意し、sortプログラムを追加することを提案します:#include//合併ソートusing namespace std;int n,m,a[1010],b[1010]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=m;i++)cin>>b[i]; sort(b+1,b+m+1); int k=n+m,x=1,y=1; for(int i=1;i<=k;i++){ if(a[x]<=b[y]){ cout< x++; } else{ cout< y++; } if(x>n){ for(;y<=m;y++)cout< break; } if(y>m){ for(;x<=n;x++)cout< break; }
}
return 0;
// 233333
}入力)