제출 #712616

#제출 시각아이디문제언어결과실행 시간메모리
712616dungnguyenn_05Ancient Machine (JOI21_ancient_machine)C++17
5 / 100
38 ms4088 KiB
#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();
  }
}

컴파일 시 표준 에러 (stderr) 메시지

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')
      |             ~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...