[C++] 純文本查看 復制代碼 #include<iostream>
#include<algorithm> //背這一個比較通用,反正也是要背
//#include<utility>
using namespace std;
//陣列要宣告成常數大小,過大的陣列要放在全域變數
int data[200000];
int main()
{
int N, T, a, b;
bool quit = false;
cin >> N;
//不要這樣寫,這不符合現在C++的規範,如果N太大會RE給你看
//int data[N];
//可以 從1開始放 更符合題目敘述
for (int i = 1; i <= N; i++)
cin >> data[i];
cin >> T;
//for (int i = 0; i < T; i++)
while(T--) // Advance
{
cin >> a >> b;
if (quit == false)
{
//中間夾7個檔案是相減大於7嗎?
//AXXXXXXXB
//有人規定a<b嗎?
if (b - a > 7) //WA 仔細思考
{
quit = true;
break; //失敗直接離開while迴圈
}
else
swap (data[a], data[b]);
}
}
if (quit == true)
{
cout << "I QUIT!\n";
}
else
{
cout << "SORTED!\n";
}
for (int i = 1; i < N ; i++)
cout << data[i] << ' ';
cout << data[N] << '\n';
return 0;
} |