[BZOJ1270] [BeijingWc2008]雷涛的小猫

题目描述

Description

Input

Output

Sample Input

Sample Output

8

HINT

题目分析

f[i][j]代表第j棵树在i高度时能获得的最多的柿子数目
这里使用了滚动数组 但其实并不用 是我看错数据范围了QAQ


#include <cstdio> #include <cstring> #include <cmath> #include <queue> #include <algorithm> using namespace std; int n,m; bool f[3010][3010],v[3010]; int main() { scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) { int x,y; scanf("%d%d",&x,&y); f[x][y]=f[y][x]=1; } for(int i=1;i<=n;i++) if(!v[i]) for(int j=i+1;j<=n;j++) if(!v[j]&&!f[i][j]) { v[i]=1,v[j]=1; break; } int cnt=0; for(int i=1;i<=n;i++) { if(!v[i]) printf("%d ",i),cnt++; if(cnt==n/3) break; } return 0; }

发表评论

邮箱地址不会被公开。 必填项已用*标注