Submission #69771465


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

/////////////////// メイン ///////////////////

int main () {
  
  //////////////////// 入力 ////////////////////

  int n;
  cin >> n;

  vector<int> a(n);
  for (int i=0; i<n; i++) {
    cin >> a.at(i);
  }

  //////////////// 出力変数定義 ////////////////

  bool result = false;

  // vectorの方はaをそのまま使う

  //////////////////// 処理 ////////////////////

  // 1からnまで順に入れたvectorを用意して、順列全探索する
  vector<int> vec(n);
  iota(vec.begin(),vec.end(),1);
  do {

    // そのvecが条件を満たすか確認する
    bool flag = true;
    for (int i=0; i<n; i++) {
      if (a.at(i)!=-1&&a.at(i)!=vec.at(i)) {
        flag = false;
        break;
      }
    }

    // 満たしていたら、vecを本当にaの中身にし、resultを更新してループ終了
    if (flag) {
      a = vec;
      result = true;
      break;
    }
    
  } while (next_permutation(vec.begin(), vec.end())); // <- 順列全探索のループ条件

  //////////////////// 出力 ////////////////////

  if (result) {
    cout << "Yes" << endl;
    for (size_t i=0; i<a.size(); i++) {
      cout << a.at(i);
      if (i!=a.size()-1) {
        cout << " ";
      }
    }
    cout << endl;
  } else {
    cout << "No" << endl;
  }

  //////////////////// 終了 ////////////////////

  return 0;

}

Submission Info

Submission Time
Task B - Find Permutation 2
User wightou
Language C++ 23 (gcc 12.2)
Score 200
Code Size 1469 Byte
Status AC
Exec Time 21 ms
Memory 3656 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 32
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_Yes_00.txt, 01_Yes_01.txt, 01_Yes_02.txt, 01_Yes_03.txt, 01_Yes_04.txt, 01_Yes_05.txt, 01_Yes_06.txt, 01_Yes_07.txt, 01_Yes_08.txt, 01_Yes_09.txt, 01_Yes_10.txt, 01_Yes_11.txt, 01_Yes_12.txt, 01_Yes_13.txt, 01_Yes_14.txt, 01_Yes_15.txt, 01_Yes_16.txt, 01_Yes_17.txt, 01_Yes_18.txt, 01_Yes_19.txt, 01_Yes_20.txt, 02_No_00.txt, 02_No_01.txt, 02_No_02.txt, 02_No_03.txt, 02_No_04.txt, 02_No_05.txt, 02_No_06.txt, 02_No_07.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 4 ms 3440 KiB
00_sample_01.txt AC 1 ms 3472 KiB
00_sample_02.txt AC 1 ms 3516 KiB
01_Yes_00.txt AC 1 ms 3476 KiB
01_Yes_01.txt AC 1 ms 3472 KiB
01_Yes_02.txt AC 1 ms 3468 KiB
01_Yes_03.txt AC 1 ms 3472 KiB
01_Yes_04.txt AC 1 ms 3516 KiB
01_Yes_05.txt AC 12 ms 3472 KiB
01_Yes_06.txt AC 1 ms 3656 KiB
01_Yes_07.txt AC 1 ms 3472 KiB
01_Yes_08.txt AC 2 ms 3460 KiB
01_Yes_09.txt AC 1 ms 3588 KiB
01_Yes_10.txt AC 1 ms 3528 KiB
01_Yes_11.txt AC 1 ms 3460 KiB
01_Yes_12.txt AC 1 ms 3524 KiB
01_Yes_13.txt AC 1 ms 3492 KiB
01_Yes_14.txt AC 1 ms 3532 KiB
01_Yes_15.txt AC 4 ms 3448 KiB
01_Yes_16.txt AC 5 ms 3520 KiB
01_Yes_17.txt AC 6 ms 3628 KiB
01_Yes_18.txt AC 6 ms 3536 KiB
01_Yes_19.txt AC 4 ms 3468 KiB
01_Yes_20.txt AC 11 ms 3400 KiB
02_No_00.txt AC 1 ms 3476 KiB
02_No_01.txt AC 21 ms 3516 KiB
02_No_02.txt AC 1 ms 3472 KiB
02_No_03.txt AC 1 ms 3516 KiB
02_No_04.txt AC 1 ms 3404 KiB
02_No_05.txt AC 2 ms 3488 KiB
02_No_06.txt AC 1 ms 3528 KiB
02_No_07.txt AC 2 ms 3520 KiB