您的位置:首页 > 其它

Codeforces Round #346 (Div. 2)

2016-05-20 11:29 239 查看
A - Round House

题意:长度为n个环、起始位置是a,然后给出b,b是正数代表顺时针跑b个单位、b是负数代表逆时针跑b个单位、

思路:基础数学题目吧、

PS:对于C++和G++编译器而言 比如-7%3的结果是-1、但在数学中是2、 这题所要的结果是在数学中的、

#include<bits/stdc++.h>
using namespace std;

int n,m,x,y,vis[100005],re,edg,co;
vector< vector<int> > adj;

void dfs(int u){
vis[u]=1;co++;
for(int j=0;j<adj[u].size();j++){
int v=adj[u][j];edg++;
if(!vis[v]) dfs(v);
}
}

int main(){
cin>>n>>m;re=0;
adj.assign(n,vector<int>(0));
for(int i=0;i<m;i++){
cin>>x>>y;
x--;y--;
adj[x].push_back(y);adj[y].push_back(x);
}
for(int i=0;i<n;i++){
if(!vis[i]){
edg=co=0;dfs(i);
edg/=2;
if(edg==co-1) re++;
}
}
cout<<re<<endl;
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: