結果
問題 | No.241 出席番号(1) |
ユーザー |
![]() |
提出日時 | 2016-08-23 23:03:05 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 856 bytes |
コンパイル時間 | 605 ms |
コンパイル使用メモリ | 66,924 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-30 21:40:15 |
合計ジャッジ時間 | 1,687 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include <iostream>#include <string>#include <vector>#include <algorithm>#include <cmath>using namespace std;#define rep(i,n) for(int i=0;i<n;i++)#define ll long longint n;vector<int> seat,a;int main() {cin >> n;seat.resize(n);a.resize(n);rep(i, n) {cin >> a[i];seat[i] = i;}bool flag = true, flag2 = true;while (flag && flag2) {bool flag3 = false;rep(i,n) {if (a[i] == seat[i]) {flag3 = true;rep(j, n) {if (a[j] != seat[i]) {swap(seat[i], seat[j]);break;}if (j == n - 1) {cout << -1 << endl;flag2 = false;}}flag = false;rep(j, n) {if (a[j] == seat[j]) flag = true;}break;}if (!flag3 && (i == n - 1)) {flag = false;}}}if (flag2) {rep(i, n) {cout << seat[i] << endl;}}return 0;}