답안 #829664

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
829664 2023-08-18T13:55:51 Z NemanjaSo2005 길고양이 (JOI20_stray) C++17
15 / 100
40 ms 16668 KB
#include "Anthony.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
vector<int> graf[20005];
int dist[20005];
queue<int> Q;
int N;
bool prosli[20005];
void BFS(int gde){
   for(int i=0;i<=N;i++)
      dist[i]=-1;
   dist[gde]=0;
   Q.push(gde);
   while(Q.size()){
      int tren=Q.front();
      Q.pop();
      if(prosli[tren])
         continue;
      //cout<<tren<<endl;
      prosli[tren]=true;
      for(int i=0;i<graf[tren].size();i++)
         if(dist[graf[tren][i]]==-1){
            dist[graf[tren][i]]=dist[tren]+1;
            Q.push(graf[tren][i]);
         }
   }
   return;
}
vector<int> Mark(int n, int M, int A, int B, vector<int> U,vector<int> V) {
   N=n;
   for(int i=0;i<M;i++){
      graf[U[i]].push_back(V[i]);
      graf[V[i]].push_back(U[i]);
   }
   BFS(0);
   /*for(int i=0;i<N;i++)
      cout<<dist[i]<<" ";
   cout<<endl;*/
   if(B>=6 and M==N-1){
      string S="001011";
      vector<int> R;
      for(int i=0;i<M;i++){
         int md=min(dist[U[i]],dist[V[i]]);
         R.push_back(S[md%6]-'0');
      }
      return R;
   }
   string S="012";
   vector<int> R;
   for(int i=0;i<M;i++){
      int md=min(dist[U[i]],dist[V[i]]);
      R.push_back(S[md%3]-'0');
   }
   return R;
}
#include "Catherine.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int slucaj,nalazi=0;
set<string> S;
void Init(int A, int B) {
   if(A==2){
      slucaj=2;
      string x="001011";
      x+=x;
      x+=x;
      for(int i=0;i+4<x.size();i++)
         S.insert(x.substr(i,5));
   }
   else
      slucaj=1;
}
bool prvipot=true;
string T;
int Move(std::vector<int> y) {
   if(slucaj==1){
      if(y[0]==0 and y[1]==0)
         return 2;
      if(y[0]==0 and y[2]==0)
         return 1;
      if(y[1]==0 and y[2]==0)
         return 0;
      if(y[0]==0)
         return 1;
      if(y[1]==0)
         return 2;
      return 0;
   }
   //cout<<"POTEZ "<<y[0]<<" "<<y[1]<<endl;
   if(0==y[0] and y[1]==0){
      nalazi=4;
      prvipot=false;
      return -1;
   }
   if(y[0]>y[1] and y[0]>1+prvipot){
      nalazi=4;
      prvipot=false;
      if(y[1]!=0)
         return 1;
      else
         return -1;
   }
   if(y[0]<y[1] and y[1]>1+prvipot){
      nalazi=4;
      prvipot=false;
      if(y[0]!=0)
         return 0;
      else
         return -1;
   }
   if(nalazi==0){
      prvipot=false;
      if(y[0]==0 and y[1]==1){
         nalazi=4;
         return 1;
      }
      if(y[1]==0 and y[0]==1){
         nalazi=4;
         return 0;
      }
      nalazi++;
      if(y[0]==2){
         T+="00";
         return 0;
      }
      if(y[1]==2){
         T+="11";
         return 1;
      }
      T+="01";
      return 1;
   }
   if(nalazi==1 or nalazi==2){
      if(y[0]==1){
         T+="0";
         nalazi++;
         return 0;
      }
      T+="1";
      nalazi++;
      return 1;
   }
   if(nalazi==3){
      if(y[0]==1)
         T+="0";
      else
         T+="1";
      //cout<<T<<endl;
      nalazi++;
      if(S.find(T)!=S.end()){
        // cout<<"LOSE"<<endl;
         return -1;
      }
      if(y[0]==1)
         return 0;
      return 1;
   }
   if(y[0]==0){
      nalazi=4;
      return 1;
   }
   if(y[1]==0){
      return 0;
   }
   return -1;
}

Compilation message

Anthony.cpp: In function 'void BFS(int)':
Anthony.cpp:22:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |       for(int i=0;i<graf[tren].size();i++)
      |                   ~^~~~~~~~~~~~~~~~~~

Catherine.cpp: In function 'void Init(int, int)':
Catherine.cpp:13:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |       for(int i=0;i+4<x.size();i++)
      |                   ~~~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 28 ms 15628 KB Output is correct
2 Correct 0 ms 1024 KB Output is correct
3 Correct 24 ms 14824 KB Output is correct
4 Correct 34 ms 16668 KB Output is correct
5 Correct 34 ms 16548 KB Output is correct
6 Correct 26 ms 15364 KB Output is correct
7 Correct 27 ms 15364 KB Output is correct
8 Correct 33 ms 16036 KB Output is correct
9 Correct 31 ms 16092 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 28 ms 15628 KB Output is correct
2 Correct 0 ms 1024 KB Output is correct
3 Correct 24 ms 14824 KB Output is correct
4 Correct 34 ms 16668 KB Output is correct
5 Correct 34 ms 16548 KB Output is correct
6 Correct 26 ms 15364 KB Output is correct
7 Correct 27 ms 15364 KB Output is correct
8 Correct 33 ms 16036 KB Output is correct
9 Correct 31 ms 16092 KB Output is correct
10 Correct 25 ms 13448 KB Output is correct
11 Correct 26 ms 13380 KB Output is correct
12 Correct 27 ms 13340 KB Output is correct
13 Correct 25 ms 13424 KB Output is correct
14 Correct 27 ms 13632 KB Output is correct
15 Correct 27 ms 14000 KB Output is correct
16 Correct 29 ms 16168 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 13040 KB Output is correct
2 Correct 1 ms 1024 KB Output is correct
3 Correct 22 ms 12588 KB Output is correct
4 Correct 40 ms 14344 KB Output is correct
5 Correct 31 ms 14360 KB Output is correct
6 Correct 26 ms 13144 KB Output is correct
7 Correct 26 ms 13176 KB Output is correct
8 Correct 28 ms 13812 KB Output is correct
9 Correct 36 ms 13780 KB Output is correct
10 Correct 27 ms 13536 KB Output is correct
11 Correct 26 ms 13404 KB Output is correct
12 Correct 27 ms 13508 KB Output is correct
13 Correct 28 ms 13576 KB Output is correct
14 Correct 30 ms 13848 KB Output is correct
15 Correct 28 ms 13860 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 13040 KB Output is correct
2 Correct 1 ms 1024 KB Output is correct
3 Correct 22 ms 12588 KB Output is correct
4 Correct 40 ms 14344 KB Output is correct
5 Correct 31 ms 14360 KB Output is correct
6 Correct 26 ms 13144 KB Output is correct
7 Correct 26 ms 13176 KB Output is correct
8 Correct 28 ms 13812 KB Output is correct
9 Correct 36 ms 13780 KB Output is correct
10 Correct 27 ms 13536 KB Output is correct
11 Correct 26 ms 13404 KB Output is correct
12 Correct 27 ms 13508 KB Output is correct
13 Correct 28 ms 13576 KB Output is correct
14 Correct 30 ms 13848 KB Output is correct
15 Correct 28 ms 13860 KB Output is correct
16 Correct 24 ms 11508 KB Output is correct
17 Correct 24 ms 11568 KB Output is correct
18 Correct 24 ms 11516 KB Output is correct
19 Correct 24 ms 11504 KB Output is correct
20 Correct 26 ms 12096 KB Output is correct
21 Correct 25 ms 11900 KB Output is correct
22 Correct 27 ms 13948 KB Output is correct
23 Correct 24 ms 11584 KB Output is correct
24 Correct 26 ms 11604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1284 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 22 ms 11108 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 25 ms 11136 KB Wrong Answer [6]
2 Halted 0 ms 0 KB -