Submission #13249440


Source Code Expand

#include<iostream>
#include<cmath>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<iomanip>
#include<queue>
#include<stack>

using namespace std;

typedef long long ll;

typedef std::pair<int, int> ipair;
bool lessPair(const ipair& l, const ipair& r){return l.second < r.second;}
bool morePair(const ipair& l, const ipair& r){return l.second > r.second;}

template<class T> inline bool chmin(T& a, T b) {
    if (a > b) {
        a = b;
        return true;
    }
    return false;
}
template<class T> inline bool chmax(T& a, T b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}

const ll MOD = 1e9 + 7;
// const long long INF = 1LL<<60;
void add(long long &a, long long b) { a += b; if (a >= MOD) a -= MOD; }
void sub(long long &a, long long b) { a -= b; if (a < 0) a += MOD; }
void mul(long long &a, long long b) { a *= b; a %= MOD; }
ll llmin(ll a, ll b) { if (a < b) return a; else return b; }
ll llmax(ll a, ll b) { if (a < b) return b; else return a; }
ll llabs(ll a) { if (a >= 0) return a; else return - a; }
ll llmodpow(ll a, ll n) {
   if (n == 0) return 1;
   ll tmp = llmodpow(a, n / 2);
   mul(tmp, tmp);
   if (n & 1) mul(tmp, a);
   return tmp;
}

int main() {
   int N, Q;
   cin >> N >> Q;
   char F[N][N];
   fill(F[0], F[N], 'N');
   int s, a, b;
   for (int q = 0; q < Q; q++) {
      cin >> s;
      if (s == 1) {
         cin >> a >> b;
         a--;
         b--;
         F[a][b] = 'Y';
      } else if (s == 2) {
         cin >> a;
         a--;
         for (int i = 0; i < N; i++) {
            if (F[i][a] == 'Y') F[a][i] = 'Y';
         }
      } else {
         cin >> a;
         a--;
         stack<int> st;
         for (int i = 0; i < N; i++) {
            if (F[a][i] == 'Y') {
               st.push(i);
            }
         }
         while (!st.empty()) {
            int i = st.top();
            st.pop();
            for (int j = 0; j < N; j++) {
               if (F[i][j] == 'Y') {
                  // cout << i << " " << j << endl;
                  F[a][j] = 'Y';
               }
            }
         }
      }
   }
   for (int i = 0; i < N; i++) F[i][i] = 'N';
   for (int i = 0; i < N; i++) {
      for (int j = 0; j < N; j++) {
         cout << F[i][j];
      }
      cout << endl;
   }
   return 0;
}

Submission Info

Submission Time
Task E - Restore
User redultimate
Language C++14 (GCC 5.4.1)
Score 7
Code Size 2454 Byte
Status AC
Exec Time 2 ms
Memory 256 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 7 / 7
Status
AC × 1
AC × 28
Set Name Test Cases
Sample example_01.txt
All example_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt, subtask_01_19.txt, subtask_01_20.txt, subtask_01_21.txt, subtask_01_22.txt, subtask_01_23.txt, subtask_01_24.txt, subtask_01_25.txt, subtask_01_26.txt, subtask_01_27.txt
Case Name Status Exec Time Memory
example_01.txt AC 1 ms 256 KiB
subtask_01_01.txt AC 1 ms 256 KiB
subtask_01_02.txt AC 1 ms 256 KiB
subtask_01_03.txt AC 2 ms 256 KiB
subtask_01_04.txt AC 2 ms 256 KiB
subtask_01_05.txt AC 2 ms 256 KiB
subtask_01_06.txt AC 2 ms 256 KiB
subtask_01_07.txt AC 2 ms 256 KiB
subtask_01_08.txt AC 2 ms 256 KiB
subtask_01_09.txt AC 1 ms 256 KiB
subtask_01_10.txt AC 2 ms 256 KiB
subtask_01_11.txt AC 1 ms 256 KiB
subtask_01_12.txt AC 2 ms 256 KiB
subtask_01_13.txt AC 2 ms 256 KiB
subtask_01_14.txt AC 2 ms 256 KiB
subtask_01_15.txt AC 2 ms 256 KiB
subtask_01_16.txt AC 2 ms 256 KiB
subtask_01_17.txt AC 2 ms 256 KiB
subtask_01_18.txt AC 2 ms 256 KiB
subtask_01_19.txt AC 1 ms 256 KiB
subtask_01_20.txt AC 2 ms 256 KiB
subtask_01_21.txt AC 2 ms 256 KiB
subtask_01_22.txt AC 2 ms 256 KiB
subtask_01_23.txt AC 2 ms 256 KiB
subtask_01_24.txt AC 2 ms 256 KiB
subtask_01_25.txt AC 2 ms 256 KiB
subtask_01_26.txt AC 2 ms 256 KiB
subtask_01_27.txt AC 1 ms 256 KiB