度数序列
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int sum=0;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
if(a%2==1)
sum++;
}
if(sum%2==0)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
平面图
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,r;
while(cin>>n>>r)
{
cout<<n+r-2<<endl;
}
return 0;
}
树的边数
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
while(cin>>t)
{
cout<<2*(t-1)<<endl;
}
return 0;
}
错排
#include <bits/stdc++.h>
using namespace std;
int fun(int n);
int main()
{
int n;
while(~scanf("%d",&n))
{
int res=fun(n);
printf("%d\n",res);
}
return 0;
}
int fun(int n)
{
int k;
if(n==0||n==1)
k=0;
else if(n==2)
k=1;
else
k=(fun(n-1)+fun(n-2))*(n-1);
return k;
}
数字编码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
printf("%.0lf\n",(pow(6,n)+pow(8,n))/2);
}
return 0;
}
最大公约数-离散数学
#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a,long long int b);
int main()
{
int n,m;
while(cin>>n>>m)
{
if(gcd(m,n)==1)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return 0;
}
long long int gcd(long long int a,long long int b)
{
return b?gcd(b,a%b):a;
}
非降路径
#include <bits/stdc++.h>
using namespace std;
long long int fun(long long int n);
long long int c(long long int n,long long int r);
int main()
{
long long int a,b,m,n;
cin>>a>>b>>m>>n;
cout<<c(m-a+n-b,m-a)<<endl;
return 0;
}
long long int fun(long long int n)
{
long long int k;
if(n==0||n==1)
k=1;
else
k=fun(n-1)*n;
return k;
}
long long int c(long long int n,long long int r)
{
long long int res;
res=fun(n)/(fun(n-r)*fun(r));
return res;
}
2元完全正则树
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int res=1;
int ans;
for(int i=1;i<=n;i++)
{
res=res+pow(2,i);
if(n==i)
ans=pow(2,i);
}
cout<<res<<" "<<res-1<<" "<<ans<<endl;
return 0;
}
计算连通分支
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m,r;
cin>>n>>m>>r;
cout<<n-m+r-1;
return 0;
}
求悬挂顶点
#include <bits/stdc++.h>
using namespace std;
int main()
{
int m,t;
cin>>m>>t;
cout<<2*m-20*t<<endl;
return 0;
}