CSP认证201703-2学生排队[C++题解]:模拟
生活随笔
收集整理的這篇文章主要介紹了
CSP认证201703-2学生排队[C++题解]:模拟
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目解答
- 題目鏈接
題目解答
來源:acwing
分析:模擬,按照題目要求暴力來做,時間復雜度O(mn)O(mn)O(mn)
AC代碼
#include<bits/stdc++.h> using namespace std; const int N = 1010; int n, m; int a[N]; int main(){cin >> n >> m;for(int i = 1; i <= n; i ++) a[i] = i;// for(int i = 1; i <= n; i ++) cout << a[i] <<" ";// cout << endl;while(m --){int num, step, pos;cin >> num >> step;for(int i = 1; i <= n; i ++){if(a[i] == num){pos = i;break;}}if(step > 0){// 向后移動int t = pos + step; // 目標位置for(int i = pos; i < t; i ++) a[i] = a[i+1];a[t] = num;// for(int i = 1; i <= n; i ++) cout << a[i]<<" ";// cout << endl;}else{//向前移動int t = pos + step; // 目標位置for(int i = pos; i >t; i --) a[i] = a[i-1];a[t] = num;}}for(int i = 1; i <= n; i ++) cout << a[i]<<" ";cout << endl; }題目鏈接
https://www.acwing.com/problem/content/3246/
總結
以上是生活随笔為你收集整理的CSP认证201703-2学生排队[C++题解]:模拟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSP认证201703-1分蛋糕[C++
- 下一篇: CSP认证201703-3Markdow