记录编号 291805 评测结果 AAAAAAAAAA
题目名称 [HZOI 2016]奖学金 最终得分 100
用户昵称 GravatarAntiLeaf 是否通过 通过
代码语言 C++ 运行时间 0.783 s
提交时间 2016-08-08 06:22:41 内存使用 0.48 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=10010,maxe=maxn<<1;
int n,m,dis[maxn]={0},s[maxe],t[maxe],ans=0;
bool Bellman_Ford();
int main(){
#define MINE
#ifdef MINE
	freopen("reward.in","r",stdin);
	freopen("reward.out","w",stdout);
#endif
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++)scanf("%d%d",&t[i],&s[i]);
	if(Bellman_Ford())printf("impossible");
	else{
		for(int i=1;i<=n;i++)ans+=dis[i]+100;
		printf("%d",ans);
	}
	return 0;
}
bool Bellman_Ford(){
	for(int k=1;k<n;k++)for(int i=1;i<=m;i++)
		dis[t[i]]=max(dis[t[i]],dis[s[i]]+1);
	for(int i=1;i<=m;i++)if(dis[t[i]]<dis[s[i]]+1)return true;
	return false;
}