楼梯
递归
#include <iostream>
using namespace std;
int n;
int res;
void jump(int k)
{
if (k == n) res ++;
else if (k < n)
{
jump(k + 1);
jump(k + 2);
}
}
int main()
{
cin >> n;
jump(0);
cout << res << endl;
return 0;
}
斐波那契数列
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int t;
int a=1;
int b=2;
int c;
cin>>t;
if(t==1)
cout<<"1"<<endl;
else if(t==2)
cout<<"2"<<endl;
else
{
for(int i=1;i<t-1;i++)
{
c=a+b;
a=b;
b=c;
}
cout<<c<<endl;
}
return 0;
}
计算时间
#include <stdio.h>
#include <stdlib.h>
int main()
{
int h1,m1,h2,m2;
while(scanf("%d%d%d%d",&h1,&m1,&h2,&m2)!=EOF)
{
int sum1,sum2;
sum1=h1*60+m1;
sum2=h2*60+m2;
if(sum2-sum1<0)
sum2+=1440;
int hr,mn;
hr=(sum2-sum1)/60;
mn=(sum2-sum1)%60;
printf("%d %d\n",hr,mn);
}
return 0;
}
666
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
while (n --)
{
string a;
cin >> a;
if (a == "6") cout << "36";
else if (a == "66") cout << "4356";
else
{
for (int i = 1; i < a.size(); i ++)
cout << '4';
cout << '3';
for (int i = 1; i < a.size(); i ++)
cout << '5';
cout << '6';
}
cout << endl;
}
return 0;
}
gl哥哥的收藏
#include<iostream>
#include<set>
using namespace std;
int main()
{
set<int> s;
int i, x, n;
cin>>n;
for(i=0; i<n; i++){
cin>>x;
s.insert(x);
}
cout << s.size() << endl;
}
碱基配对
#include<iostream>
using namespace std;
int main()
{
int a;cin>>a;
string b;
cin>>b;
for(int i=0;i<b.size();i++)
{
if(b[i]=='A') {b[i]='T';continue;}
if(b[i]=='T') {b[i]='A';continue;}
if(b[i]=='C') {b[i]='G';continue;}
if(b[i]=='G') {b[i]='C';continue;}
}
cout<<b;
return 0;
}
今天星期几?
#include <iostream>
using namespace std;
int main()
{
string a;
cin >> a;
if (a == "Monday")
cout << 1 << endl;
else if (a == "Tuesday")
cout << 2 << endl;
else if (a == "Wednesday")
cout << 3 << endl;
else if (a == "Thursday")
cout << 4 << endl;
else if (a == "Friday")
cout << 5 << endl;
else if (a == "Saturday")
cout << 6 << endl;
else
cout << 7 << endl;
return 0;
}
简单统计
#include <stdio.h>
int main()
{
int t,L,R,i,con=0;
scanf("%d",&t);
while(t--)
{
con=0;
scanf("%d %d",&L,&R);
for(i=L;i<=R;i++)
{
if(i%10==2){con++;}
if(i/10%10==2){con++;}
if(i/100%10==2){con++;}
if(i/1000%10==2){con++;}
}
printf("%d\n",con);
}
return 0;
}
dd的变量命名
#include<iostream>
using namespace std;
int main()
{
int num;
cin>>num;
int i=1;
while(num--)
cout<<'a'<<i++<<endl;
return 0;
}
真正的热爱
#include <iostream>
using namespace std;
string a;
int diff, same;
int main()
{
string res;
cin >> res;
while (cin >> a)
{
if (a == res) same ++;
else diff ++;
}
cout << diff << endl << same;
return 0;
}
找闰年
#include<stdio.h>
int main()
{
for(int a=1900;a<=2000;a++)
{
if(a%4==0 &&a%100!=0)
printf("%d\n",a);
else if(a%400==0)
printf("%d\n",a);
}
return 0;
}
排序
#include<iostream>
using namespace std;
const int N=1010;
int a[N];
void sort(int l,int r,int a[])
{
if(l>=r) return;
int i=l-1;int j=r+1; int x=a[(l+r)/2];
while(i<j)
{
do i++;while(a[i]<x);
do j--;while(a[j]>x);
if(i<j) swap(a[i],a[j]);
}
sort(l,j,a);
sort(j+1,r,a);
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(0,n-1,a);
for(int i=0;i<n;i++)
cout<<a[i]<<' ';
return 0;
}
掷骰子
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int x, y;
cin >> x >> y;
int ans = max(x, y);
int a = 7 - ans;
if (a && (a != 6))
cout << a / __gcd(a, 6) << '/' << 6 / __gcd(a, 6) << endl;
else if (a == 6)
cout << 1 << '/' << 1 << endl;
else
cout << 0 << '/' << 1 << endl;
return 0;
}
国土炼成阵
#include <iostream>
using namespace std;
int main()
{
int k;
cin >> k;
while (k --)
{
int n, m;
cin >> n >> m;
if (m <= 2)
cout << "NO";
else if (m > 2 && m < n && !(n % m))
cout << "YES";
else
cout << "NO";
cout << endl;
}
return 0;
}
兰大侠打怪兽
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int q;
cin>>q;
while(q--)
{
int a[3];
for(int i=0;i<3;i++)
cin>>a[i];
sort(a,a+3);
int sum=a[0]+a[1]+a[2];
if(sum%9==0&&a[0]>=sum/9)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
LR最爱巧克力
#include<stdio.h>
int main()
{
int a[1000],n,i,j=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
long long t = 0,tol =1;
for(i=0;i<n;i++)
{
if(j==1&&a[i]==0)
t++;
if(a[i]==1)
{
j = 1;
if(t>0)tol = tol * (t + 1);
t = 0;
}
}
if(j == 0)
printf("0\n");
else
printf("%lld\n",tol);
return 0;
}
AC数加1
#include<iostream>
using namespace std;
int main()
{
int q;
cin>>q;
while(q--)
{
long long num;
cin>>num;
long long sum=0;
while(num>0)
{
int yushu = num%2;
if(yushu==1) sum++;
num/=2;
}
cout<<sum<<endl;
}
return 0;
}
喜欢数学题的小赵和小兰
#include <bits/stdc++.h>
using namespace std;
int main()
{
int _;
scanf("%d", &_);
while(_ --)
{
int n, m;
scanf("%d", &n);
int x1 = 0, x2 = 0;
for(int i = 1; i <= n; i ++)
{
int x;
scanf("%d", &x);
if(x % 2 == 0) x2 ++;
else x1 ++;
}
int y1 = 0, y2 = 0;
scanf("%d", &m);
for(int i = 1; i <= m; i ++)
{
int x;
scanf("%d", &x);
if(x % 2 == 0) y2 ++;
else y1 ++;
}
printf("%lld\n", (long long )x1 * y1 + (long long)x2 * y2);
}
return 0;
}
明星LR
#include <iostream>
using namespace std;
const int mod = 1e9 + 7;
int col[100010],row[100010];
int main()
{
int n, m;
cin >> n >> m;
long long cntx = n, cnty = m;
while (m--)
{
int x, y;
cin >> x >> y;
if (!row[x])
row[x]++, cntx--;
if (!col[y])
col[y]++, cnty--;
long long ans = (cntx * cnty) % mod;
cout << ans << endl;
}
return 0;
}
没有0的生活
#include <bits/stdc++.h>
using namespace std;
int f(int x)
{
string s = to_string(x);
int res = 0;
for(int i = 0; i < s.size(); i ++)
if(s[i] != '0')
res = res * 10 + s[i] - '0';
return res;
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
if(f(a + b) == f(a) + f(b)) puts("YES");
else puts("NO");
return 0;
}
良心的签到
#include<bits/stdc++.h>
using namespace std;
int a[10020]={0};
int main()
{
int n,t,cnt=1;
cin>>n;
for(int q=0;q<n;q++)
cin>>a[q];
cin>>t;
for(int q=0;q<n;q++)
if(t>a[q])
cnt++;
cout<<cnt<<endl;
return 0;
}
矩阵转置
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a[3][3],q,w,b[3][3];
for(q=0;q<3;q++)
{
for(w=0;w<3;w++)
{
cin>>a[q][w];
b[w][q]=a[q][w];
}
}
for(q=0;q<3;q++)
{
for(w=0;w<3;w++)
{
cout<<b[q][w];
cout<<" ";
}
cout<<endl;
}
return 0;
}
猴子吃桃
#include<iostream>
using namespace std;
int main()
{
int q;cin>>q;q-=1;
int i=1;
while(q--)
{
i+=1;
i*=2;
}
cout<<i;
return 0;
}
等差数列求和
#include<iostream>
using namespace std;
long long sum;
int main()
{
int a;
cin>>a;
int start=2;
for(int i=0;i<a;i++)
{
sum+=start;
start+=3;
}
cout<<sum;
return 0;
}
排序plus
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1000010;
int a[N];
int main()
{
int n;cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
for(int i=0;i<n;i++)
cout<<a[i]<<' ';
return 0;
}
zs哥哥的神奇计算器
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,m,n,add;
cin>>t;
while(t--)
{
cin>>m>>n;
add=m+n;
if(add>=1024)
add-=2048;
else if(add<=-1024)
add+=2048;
cout<<add<<endl;
}
return 0;
}
吃饱了睡,睡饱了吃的ccgg
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
while (n--)
{
int x1,y1,x2,y2,x3,y3,s;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
if(x1==x2&&x1==x3)
s=abs(y2-y1)+2;
else if(y1==y2&&y2==y3)
s=abs(x2-x1)+2;
else
s=abs(x2-x1)+abs(y2-y1);
cout<<s<<endl;
}
return 0;
}
wz哥哥买礼物
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
void slove()
{
scanf("%d",&n);
int a1=n/3,a2=n/3;
n%=3;
if(n==1)
a1++;
else if(n==2)
a2++;
cout <<a1<<' '<<a2<<endl;
}
int main(){
int t = 1;
while(t --)
slove();
return 0;
}
bs拯救女神mm
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,t;//2n平方,4的n次方
cin>>n;
while(n--)
{
cin>>t;
long long cnt1=0,cnt2=0;
if(t%2==0)
{
if(sqrt(t/2.0)==(int)sqrt(t/2.0)||sqrt(t/4.0)==(int)sqrt(t/4.0))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else
cout<<"NO"<<endl;
}
return 0;
}
学渣bs来送签到
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;cin>>a>>b>>c>>d;
double sum=a*0.5+b*0.2+c*0.2+d*0.1;
if(a<60)
cout<<"QWQ";
else if(sum>=60.0)
cout<<"YES";
else
cout<<"QWQ";
return 0;
}
到底谁更穷?
#include <iostream>
using namespace std;
int main()
{
long long a1,b1,c1,a2,b2,c2;
cin>>a1>>b1>>c1>>a2>>b2>>c2;
double n1=(double)b1/c1;
double n2=(double)b2/c2;
if(n1>n2)
cout<<"ccgg";
else
cout<<"bs";
return 0;
}
街舞社
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int N = 20 + 10;
const ll mod = 998244353;
const double pi = acos(-1);
int n;
ll c[N][N];
ll A[N];
void init()
{
for (int i = 0; i <= 25; i++)
for (int j = 0; j <= i; j++)
if (!j)
c[i][j] = 1;
else
c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]);
A[1] = 1;
for (int i = 2; i <= 10; i++)
A[i] = A[i - 1] * i;
}
void solve()
{
init();
cin >> n;
if (n == 2)
cout << "1" << endl;
else if (n == 4)
cout << "3" << endl;
else
{
ll ans = c[n][n / 2];
ans *= A[n / 2];
ans *= A[n / 2];
ans /= (n / 2);
ans /= (n / 2);
ans /= 2;
cout << ans << endl;
}
}
int main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t = 1;
// cin >> t;
while (t--)
solve();
return 0;
}
升级版排序
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
pair<int, int> p[1000100];
bool cmp(pair<int, int> &a, pair<int, int> &b)
{
if (a.first != b.first)
return a.first > b.first;
else
return a.second < b.second;
}
int main()
{
int a;
cin >> a;
for (int x = 0; x < a; x++)
cin >>p[x].first >>p[x].second;
sort(p, p + a, cmp);
int m;
while (cin >> m)
cout << p[m-1].second << endl;
return 0;
}
犹太棋
#include <iostream>
using namespace std;
int main()
{
cout<<"YES"<<endl;
return 0;
}