记录编号 |
422180 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[HAOI 2016]食物链 |
最终得分 |
100 |
用户昵称 |
@@@ |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.218 s |
提交时间 |
2017-07-09 09:54:30 |
内存使用 |
2.69 MiB |
显示代码纯文本
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream cin("chain_2016.in");
ofstream cout("chain_2016.out");
int n,m;
int ans = 0;
class animal
{
public:
// ~animal();
int in,out;
int chain;
vector<int> eat;
animal()
{
in = out = chain = 0;
}
// bool
}a[100001];
int dfs(int x)
{
int i;
if(a[x].chain > 0)
{
return a[x].chain;
}
for (i = 0;i < a[x].eat.size() ; ++i)
{
a[x].chain += dfs(a[x].eat[i]);
/* code */
}
return a[x].chain;
}
int cyf()
{
int i,j,k;
cin >> n >> m;
for (i = 1; i <= m; ++i)
{
int t1,t2;
cin >> t1 >> t2;
a[t2].eat.push_back(t1);
a[t1].out++;
a[t2].in++;
/* code */
}
for (i = 1; i <= n; ++i)
{
if (a[i].in == 0)
{
a[i].chain = 1;
}
}
for (i = 1; i <= n; ++i)
{
if (a[i].out == 0 && a[i].in != 0)
{
ans += dfs(i);
/* code */
}
/* code */
}
cout << ans << endl;
cin.close();
cout.close();
return 0;
}
int hhhh = cyf();
int main() {;}