답안 #712616

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
712616 2023-03-19T10:05:36 Z dungnguyenn_05 Ancient Machine (JOI21_ancient_machine) C++17
5 / 100
38 ms 4088 KB
#include<bits/stdc++.h>
#include <vector>
#include "Anna.h"


void Anna(int N, std::vector<char> S) {

  for(char c:S)
  {
  	if(c=='X')
    {
      Send(0);
      Send(0);
    }

    if(c=='Y')
    {
      Send(0);
      Send(1);
    }

    if(c=='Z')
    {
      Send(1);
      Send(0);
    }
  }
}
#include<bits/stdc++.h>
#include <vector>
#include "Bruno.h"
using namespace std;

char ch[200005];

void Bruno(int N, int L, std::vector<int> A) {
  
  stack<char> st;
  int cnt=0;

  bool ok=0;
  for(int i=0;i<A.size();i+=2)
  {
    int d=A[i];
    int c=A[i+1];

    if(!d and !c)
      ch[cnt]='X';

    if(!d and c)
      ch[cnt]='Y';

    if(d and !c)
      ch[cnt]='Z';

    if(ch[cnt]=='X')
      ok=1;

    if(!ok)
    {
      Remove(cnt);
      cnt++;
      continue;
    }

    while(st.size() and st.top()==ch[cnt])
    {
      Remove(st.top());
      st.pop();
    }

    if(ch[cnt]=='X' or ch[cnt]=='Y')
      st.push(cnt);

    if(ch[cnt]=='Z')
    {
      if(ch[st.top()]=='X')
      {
        if(st.size()>1)
        {
          Remove(st.top());
          st.pop();
        }
        else
        {
          Remove(cnt);
          cnt++;
          continue;
        }
      }

      while(st.size()>2)
      {
        Remove(st.top());
        st.pop();
        Remove(st.top());
        st.pop();
      }

      if(st.size()==2)
      {
        Remove(st.top());
        st.pop();
      }



      Remove(cnt);
    }
    cnt++;
  }

  while(st.size())
  {
    Remove(st.top());
        st.pop();
  }
}

Compilation message

Bruno.cpp: In function 'void Bruno(int, int, std::vector<int>)':
Bruno.cpp:14:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |   for(int i=0;i<A.size();i+=2)
      |               ~^~~~~~~~~
Bruno.cpp:49:19: warning: array subscript has type 'char' [-Wchar-subscripts]
   49 |       if(ch[st.top()]=='X')
      |             ~~~~~~^~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 508 KB Output is correct
2 Correct 1 ms 508 KB Output is correct
3 Correct 0 ms 508 KB Output is correct
4 Correct 2 ms 516 KB Output is correct
5 Correct 1 ms 556 KB Output is correct
6 Correct 1 ms 508 KB Output is correct
7 Correct 0 ms 508 KB Output is correct
8 Correct 1 ms 516 KB Output is correct
9 Correct 0 ms 508 KB Output is correct
10 Correct 1 ms 508 KB Output is correct
11 Correct 1 ms 508 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 38 ms 4088 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -