QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#20698 | #2426. The Xana coup | Famiglistmo | Compile Error | / | / | C++14 | 1.1kb | 2022-02-17 17:08:15 | 2022-05-18 04:10:03 |
Judging History
你现在查看的是最新测评结果
- [2023-08-10 23:21:45]
- System Update: QOJ starts to keep a history of the judgings of all the submissions.
- [2022-05-18 04:10:03]
- 评测
- 测评结果:Compile Error
- 用时:0ms
- 内存:0kb
- [2022-02-17 17:08:15]
- 提交
answer
#include<iostream>#include<cstdio>#include<cstring>#include<vector>#define N 200010#define inf 1000000000#define ll long longusing namespace std;vector<int>g[N];ll f[N][2][2];int a[N];//f_{i,0/1,0/1} 点 i,当前为 0/1,按过 0/1 次按钮void dfs(int u,int p){ ll h[2][2]={{0,inf},{0,inf}},w[2][2];//所有儿子都是 0/1 且翻转 0/1 次 for(int v:g[u]) if(v!=p) { dfs(v,u); memset(w,0,sizeof(w)); w[0][0]=min(h[0][0]+f[v][0][0],h[0][1]+f[v][0][1]); w[0][1]=min(h[0][0]+f[v][0][1],h[0][1]+f[v][0][0]); w[1][0]=min(h[1][0]+f[v][1][0],h[1][1]+f[v][1][1]); w[1][1]=min(h[1][0]+f[v][1][1],h[1][1]+f[v][1][0]); memcpy(h,w,sizeof(w)); } f[u][0][0]=h[0][a[u]]; f[u][0][1]=h[1][!a[u]]+1; f[u][1][0]=h[0][!a[u]]; f[u][1][1]=h[1][a[u]]+1;}int main(){ int n; scanf("%d",&n); for(int i=1,u,v;i<n;i++) scanf("%d%d",&u,&v),g[u].push_back(v),g[v].push_back(u); for(int i=1;i<=n;i++) scanf("%d",&a[i]); dfs(1,0); ll res=min(f[1][0][0],f[1][0][1]); if(res>=inf) puts("impossible"); else printf("%lld\n",res); return 0;}
詳細信息
answer.code:1:19: warning: extra tokens at end of #include directive 1 | #include<iostream>#include<cstdio>#include<cstring>#include<vector>#define N 200010#define inf 1000000000#define ll long longusing namespace std;vector<int>g[N];ll f[N][2][2];int a[N];//f_{i,0/1,0/1} 点 i,当前为 0/1,按过 0/1 次按钮void dfs(int u,int p){ ll h[2][2]={{0,inf},{0,inf}},w[2][2];//所有儿子都是 0/1 且翻转 0/1 次 for(int v:g[u]) if(v!=p) { dfs(v,u); memset(w,0,sizeof(w)); w[0][0]=min(h[0][0]+f[v][0][0],h[0][1]+f[v][0][1]); w[0][1]=min(h[0][0]+f[v][0][1],h[0][1]+f[v][0][0]); w[1][0]=min(h[1][0]+f[v][1][0],h[1][1]+f[v][1][1]); w[1][1]=min(h[1][0]+f[v][1][1],h[1][1]+f[v][1][0]); memcpy(h,w,sizeof(w)); } f[u][0][0]=h[0][a[u]]; f[u][0][1]=h[1][!a[u]]+1; f[u][1][0]=h[0][!a[u]]; f[u][1][1]=h[1][a[u]]+1;}int main(){ int n; scanf("%d",&n); for(int i=1,u,v;i<n;i++) scanf("%d%d",&u,&v),g[u].push_back(v),g[v].push_back(u); for(int i=1;i<=n;i++) scanf("%d",&a[i]); dfs(1,0); ll res=min(f[1][0][0],f[1][0][1]); if(res>=inf) puts("impossible"); else printf("%lld\n",res); return 0;} | ^ /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: error: ld returned 1 exit status