问题 4117 --匠人的自我修养(完善程序)

4117: 匠人的自我修养(完善程序)★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 73  解决: 51
[提交][状态][命题人:]

题目描述


#include<cstdio>
using namespace std;
const int maxn=1001;

int n;
int cnt[maxn];
int child[maxn][maxn];
int unlock[maxn];
int points;
int threshold[maxn],bonus[maxn];

bool find(){
	int target=-1;
	for(int i=1;i<=n;++i)
		if(___(1)___&&___(2)___){
			target=i;
			break;
		}
	if(target==-1)
	return false;
	unlock[target]=-1;
	____(3)_____
	for(int i=0;i<cnt[target];++i)
	____(4)____
	return true;
}

int main(){
	scanf("%d%d",&n,&points);
	for(int i=1;i<=n;++i){
		cnt[i]=0;
		scanf("%d%d",&threshold[i],&bonus[i]);
	}
	for(int i=1;i<=n;++i){
		int m;
		scanf("%d",&m);
		____(5)____;
		for(int j=0;j<m;++j){
			int fa;
			scanf("%d",&fa);
			child[fa][cnt[fa]]=i;
			++cnt[fa];
		}
	}
	int ans=0;
	while(find())	
	++ans;
	printf("%d\n",ans);
	return 0;
}


输入

输出

样例输入
Copy
4 10
1 3
2 6
20 1
21 2
1 2
0
1 2
1 2
样例输出
Copy
2

提示

来源

[提交][状态]