제출 #130081

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
1300812019-07-13 20:54:59TadijaSebezPaths (BOI18_paths)C++11
100 / 100
796 ms106744 KiB
#include <stdio.h>
#include <vector>
using namespace std;
#define ll long long
const int N=300050;
int col[N];
vector<int> E[N];
ll dp[N][2][2][2][2][2],sol;
bool vis[N][2][2][2][2][2];
ll DFS(int u, vector<int> was)
{
if(vis[u][was[0]][was[1]][was[2]][was[3]][was[4]])
return dp[u][was[0]][was[1]][was[2]][was[3]][was[4]];
ll ret=1;
for(int i=0;i<E[u].size();i++)
{
int v=E[u][i];
if(was[col[v]]) continue;
was[col[v]]=1;
ret+=DFS(v,was);
was[col[v]]=0;
}
dp[u][was[0]][was[1]][was[2]][was[3]][was[4]]=ret;
vis[u][was[0]][was[1]][was[2]][was[3]][was[4]]=1;
return ret;
}
int main()
{
int n,m,k,i,u,v;
scanf("%i %i %i",&n,&m,&k);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

paths.cpp: In function 'long long int DFS(int, std::vector<int>)':
paths.cpp:15:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<E[u].size();i++)
              ~^~~~~~~~~~~~
paths.cpp: In function 'int main()':
paths.cpp:30:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i %i %i",&n,&m,&k);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~
paths.cpp:31:39: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(i=1;i<=n;i++) scanf("%i",&col[i]),col[i]--;
                    ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
paths.cpp:32:51: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  while(m--) scanf("%i %i",&u,&v),E[u].push_back(v),E[v].push_back(u);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...