位数问题
#include<bits/stdc++.h>
using namespace std;
void f(int);
int a[100][100];
int b[100][100];
int n;
int main()
{cin>>n;long long x=0;for(int i=1;i<=n;i++){x=x*10;}long long y=0;long long t=x;for(int i=1;i<=n;i++){y=y+t*9;t=t/10;}int sum=0;int summ=0;int j;for(int i=x;i<=y;i++){t=i;while(t!=0){j=t%10;if(j==3){sum++;}t=t/10;}if(sum%2==0){summ++;}sum=0;}cout<<summ%12345;return 0;
}
void f(int n){}
山区建小学
移动路线
#include<bits/stdc++.h>
using namespace std;
void f(int);
int a[100][100];
int n;
int main()
{int m;cin>>m>>n;a[1][1]=0;for(int i=1;i<=m;i++){a[i][1]=1;}for(int i=1;i<=n;i++){a[1][i]=1;}for(int i=1;i<=m;i++){for(int j=1;j<=n;i++){a[i][j]=a[i+1][j]+a[i][j-1];}}cout<<a[m][n];return 0;
}
void f(int n){}
判断整除
#include<bits/stdc++.h>
using namespace std;
void f(int);
bool a[10010][110];
int b[10010];
int n;
int main()
{int k;cin>>n>>k;for(int i=1;i<=n;i++){cin>>b[i];b[i]=b[i]%k;}a[0][0]=true;for(int i=1;i<=n;i++){for(int j=0;i<k;j++){if(a[i-1][j]==true){a[i][(j+b[i])%k]=true;a[i][(j-b[i]+k)%k]=true;}}}if(a[n][0]==true) cout<<"YES";else cout<<"NO";cout<<endl;return 0;
}
void f(int n){}