제출 #859130

#제출 시각아이디문제언어결과실행 시간메모리
859130VanioSpeedrun (RMI21_speedrun)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #include "speedrun.h" using namespace std; int n,f[1001],pr; vector<int> v[1001]; void encode(int p, int k, int indx){ int i=indx; while(k>0){ setHint(p,i,k%2); k/=2; i++; } } void dfsen(int k, int par){ pr=k; if(v[k].size()==0){f[k]=2; return;} else{ f[k]=1; if(f[pr]==2){ encode(pr,k,1); encode(pr,par,11); } encode(k,par,1); encode(k,v[k][0],11); for(int i=0;i<v[k].size();i++){ if(f[v[k][i]]==0) dfsen(v[k][i],k); } } } void assignHints(int subtask, int N, int a[], int b[]){ n=N; int i; for(i=1;i<n;i++){ v[a[i]].push_back(b[i]); v[b[i]].push_back(a[i]); } setLength(20); dfsen(1,0); } int decode(int indx){ int s=0,t=512,i; for(i=indx;i>indx-10;i--){ s+=getHint(i)*t; t/=2; } return s; } void dfssr(int k,int par){ if(par!=decode(10)){ v[decode(20)].push_back(decode(10)); return; } v[k].push_back(decode(20)); for(int i=0;i<v[k].size();i++){ goTo(v[k][i]); dfssr(v[k][i],k); } } void speedrun(int subtask, int N, int start){ n=N; int i,t; if(decode(20)==0){ for(i=1;i<=n;i++){ if(goTo(i)) break; } } while(t=decode(10)) goTo(t); dfssr(1,0); }

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

speedrun.cpp: In function 'void dfsen(int, int)':
speedrun.cpp:28:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         for(int i=0;i<v[k].size();i++){
      |                     ~^~~~~~~~~~~~
speedrun.cpp: In function 'void assignHints(int, int, int*, int*)':
speedrun.cpp:41:5: error: 'setLength' was not declared in this scope; did you mean 'getLength'?
   41 |     setLength(20);
      |     ^~~~~~~~~
      |     getLength
speedrun.cpp: In function 'void dfssr(int, int)':
speedrun.cpp:61:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |     for(int i=0;i<v[k].size();i++){
      |                 ~^~~~~~~~~~~~
speedrun.cpp: In function 'void speedrun(int, int, int)':
speedrun.cpp:75:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   75 |     while(t=decode(10)) goTo(t);
      |           ~^~~~~~~~~~~