• 个人简介

    ![](/file/427/tW__33MoC3hJUbkU15f6L.jpeg)
    
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    const ll N=1e8+5;
    int main()
    {
    	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    	return 0;
    }
    
    

    image image image

    http://49.233.49.152/file/668/GfdR2DwiblJngfd0FWu-J.jpeg

    * [ ] #include<bits/stdc++.h>
    using namespace std;
    int a[105][105],n;
    int main()
    {
    cin>>n;
    for(int i=1;i<=n;i++){
    a[i][1]=1;
    a[i][i]=1;
    for(int j=2;j<i;j++){
    a[i][j]=a[i-1][j-1]+a[i-1][j];	
    }
    }
    for(int i=1;i<=n;i++){
    for(int j=1;j<=i;j++){
    cout<<a[i][j]<<" ";
    }
    cout<<endl;
    }
    
    return 0;
    
    }
    //杨辉三角
    
    #include<bits/stdc++.h>
    using namespace std;
    map<int,bool> k;
    int a[1000005];
    int b;
    int main()
    {
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
    cin>>a[i];
    }
    for(int i=1;i<=m;i++)
    {
    cin>>b;
    k[b]=1;
    }
    for(int i=1;i<=n;i++)
    {
    if(k[a[i]]) cout<<a[i]<<" ";
    }
    return 0;
    }
    //map的用法
    
    #include<bits/stdc++.h>
    using namespace std;
    int gcd(int y,int x)
    {
    if(y%x==0) return x;
    return gcd(x,y%x);
    }
    int main()
    {
    int n,m;
    cin>>n>>m;
    cout<<gcd(n,m)<<" ";//最大公约数
    cout<<n*m;//最小公倍数
    return 0;
    }
    
    
    
    #include<iostream>
    using namespace std;
    string s;
    int mmax;
    int main()
    {
        cin>>s;
        for(int i=0;i<s.size();i++){
        	if(s[i]>='A'&&s[i]<='Z') 
    		{
    			mmax=max(s[i]-'A'+10,mmax);
    			//cout<<s[i]<<" "<<mmax<<" ";
    		}
        	else 
    		{
    			mmax=max(s[i]-'0',mmax);
    			//cout<<s[i]<<" "<<mmax<<" ";
    		}
    	} 
    	cout<<mmax+1;
    	return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    int t,l,mmin=1e9;
    map<int,int> mp;
    int main(){
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>t;
    		if(mp[t])
    		{
    			int k=i-mp[t];
    			if(k<mmin)
    			{
    				mmin=k;
    				l=t;
    			}
    		}
    		else mp[t]=i;
    	}
    	if(mmin==1e9) cout<<"No";
    	else cout<<l;
    	return 0;
    }
    
    
    
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int a,b,c,d,e;
    	cin>>a>>b>>c>>d>>e;
    	if(a==1&&b==2&&c==3&&d==4&&e==5||a==1&&b==2&&c==3&&d==5&&e==4||a==1&&b==2&&c==4&&d==3&&e==5||a==1&&b==3&&c==2&&d==4&&e==5||a==2&&b==1&&c==3&&d==4&&e==5||a==1&&b==2&&c==5&&d==4&&e==3||a==1&&b==4&&c==3&&d==2&&e==5||a==1&&b==5&&c==3&&d==4&&e==2||a==3&&b==2&&c==1&&d==4&&e==5||a==4&&b==2&&c==3&&d==1&&e==5||a==5&&b==2&&c==3&&d==4&&e==1)cout<<"Accepted"<<endl;
    	else cout<<"Error"<<endl;
    	return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    int a,b,c[100];
    int main()
    {
        int a,b,c;
        cin>>a>>b>>c;
        int d=max(max(a,b),c);
        int e=min(min(a,b),c);
        int f=(a+b+c)-d-e;
        if((e*e)+(f*f)==d) cout<<d+d;
        else cout<<(f*f)+(d*d);
    	return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    int a,b,c; 
    int main()
    {
    	cin>>a>>b;
    	c=a+b;
    	if(c<10)
    	{
    		cout<<"water";
    		return 0;
    	}
    	else
    	{
    		if(a>b) cout<<"tree";
    		else cout<<"tea";
    	}
    	return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	for(int i=1;i<=200;i++)
    	{
    		if(i%3==2&&i%7==1)
    		{
    			cout<<i<<" ";
    		}
    		
    	}
    
    	
    	return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    int p,a[100000005],t;
    int main()
    {
    	cin>>p;
    	for(int i=1;i<=p;i++) 
    	{
    		cin>>t;
    		a[t]++;
    	}
    	for(int i=1;i<=100000000;i++)
    	{
    		if(a[i]>=2) 
    		{
    			cout<<1;
    			return 0;
    		}
    	}
    	cout<<0;
    	return 0;
    }
    
         
             
     
    
    
    #include<bits/stdc++.h>
    using namespace std;
    int f[5005][5005]; 
    int main(){
    	int n;
    	cin>>n;
    	f[1][1]=1;
    	f[2][1]=2;
    	int l=1;
    	for(int i=3;i<=n;i++)
    	{
    		for(int j=1;j<=l;j++)
    		{
    			f[i][j]=f[i-1][j]+f[i-2][j];
    		}
    		for(int j=1;j<=l;j++)
    		{
    			f[i][j+1]+=f[i][j]/10;
    			f[i][j]%=10;
    		}
    		if(f[i][l+1]) l++;
    	 } 
    	 for(int i=l;i>=1;i--) cout<<f[n][i];
    	return 0;
    }
    ## [ljc20140209aaa](https://www.luogu.com.cn/user/2122268)
    
    
    
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+5;
    long long n,q,arr[N];
    long long ef(long long l,long long r,long long x)
    {
    	int ans=-1;
    	while(l<=r)
    	{
    		int m=(l+r)/2;
    		if(arr[m]>=x)
    		{
    			ans=m;
    			r=m-1;
    		}
    		else l=m+1;
    	}
    	return ans;
    }
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i++) cin>>arr[i];
    	cin>>q;
    	while(q--)
    	{
    		long long x;
    		cin>>x;
    		cout<<ef(1,n,x)<<" ";
    	}
        return 0;
    }
    #include<bits/stdc++.h> 
    using namespace std;
    int x,y,z,q,n;
    int main()
    {
    	cin>>x>>y>>z>>q;
    	n=x+y+z+y;
    	for(int i=1;;i++)
    	{
    		if(x>=q)
    		{
    			cout<<"red";
    			return 0;
    		} 
    		else if(x+y>=q) 
    		{
    			cout<<"yellow";
    			return 0;
    		}
    		else if(x+y+z>=q)
    		{
    			cout<<"green";
    			return 0;
    		} 
    		else if(x+y+z+y>=q)
    		{
    			cout<<"yellow";
    			return 0;
    		} 
    		q-=n;
    	}
    	
    	return 0;
    }
    
    
    #include<bits/stdc++.h>
    using namespace std;
    int f;
    string s;
    int main()
    {	
    	cin>>s;
    	for(int i=s.size()-1;i>=0;i--)
    	{
    		if(f==1)
    		{
    			f=0;
    			continue;
    		}
    		if(s[i]=='0'&&s[i-1]=='1')
    		{
    			cout<<s[i-1]<<s[i];
    			f=1;
    		}	
    		else cout<<s[i];
    	} 
    	return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    int x,y,n,t,s,a[105],b[105],c[105],q;
    int main()
    {
    	cin>>x>>y>>n;
    	t=x+y;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i]>>b[i]>>c[i];
    		s=a[i]+b[i]+c[i];
    		if(s<t)
    		{
    			cout<<"No";
    			return 0;
    		}
    	}
    	cout<<"Yes";
    	return 0;
    }
    
    
    
    
    #include <bits/stdc++.h>
    using namespace std;
    const long long N=3e3+5;
    #define ll long long
    ll a,b[N];
    ll cmp(ll x,ll y)
    {
    	return x>y;
    }
    int main()
    {
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	cout.tie(0);
    	cin>>a;
    	for(int i=1;i<=a;i++) cin>>b[i];
    	sort(b+1,b+a+1,cmp);
    	cout<<b[3];
       	return 0;
    }
    
    
       	
    #include<bits/stdc++.h>
    using namespace std;   
    #define ll long long
    string s="0123456789ABCDEF",l;
    string dig(int x,int b){
        if(x==0) return "";
        l=dig(x/b,b);
        ll r=x%b;
        return l+s[r];
    }
    int main(){
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	cout.tie(0);
        int a,b;
        cin>>a>>b;
        if(a==0) cout<<0;
        else cout<<dig(a,b);
        return 0;
    }
    
    
    
    #include <bits/stdc++.h>
    using namespace std;
    #define ll long long
    const ll N=1e5+5;
    int n,a[10005],b[100005],c[100005];
    void m_sort(ll l,ll r)
    {
    	if(l==r) return ;
    	ll mid=(l+r)/2;
    	m_sort(l,mid);
    	m_sort(mid+1,r);
    	ll i=l,j=mid+1,k=l;
    	while(i<=mid&&j<=r)
    	{
    		if(a[i]<=a[j])
    		{
    			b[k++]=a[i++];
    		}
    		else 
    		{
    			if(a[i]>=a[j])
    			{
    				b[k++]=a[j++];
    			}
    		}
    	}
    	while(i<=mid)
    	{
    		b[k++]=a[i++];	
    	}
    	while(j<=r)
    	{
    		b[k++]=a[j++];	
    	}
    	for(int i=l;i<=r;i++)
    	{
    		a[i]=b[i];
    	}
    }
    int main()
    {
    	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	m_sort(1,n);
    	for(int i=1;i<=n;i++) cout<<a[i]<<" ";
    	return 0;	
    }
    //归并排序
    
    #include <bits/stdc++.h>
    using namespace std;
    #define ll long long
    const ll N=1e7+5;
    ll n,a[N],b[N],c[N],ans;
    void m_sort(ll l,ll r)
    {
    	if(l==r) return ;
    	ll mid=(l+r)/2;
    	m_sort(l,mid);
    	m_sort(mid+1,r);
    	ll i=l,j=mid+1,k=l;
    	while(i<=mid&&j<=r)
    	{
    		if(a[i]<=a[j])
    		{
    			b[k++]=a[i++];
    		}
    		else 
    		{
    	
    				b[k++]=a[j++];
    				ans+=mid-i+1;
    
    		}
    	}
    	while(i<=mid)
    	{
    		b[k++]=a[i++];	
    	}
    	while(j<=r)
    	{
    		b[k++]=a[j++];	
    	}
    	for(int i=l;i<=r;i++)
    	{
    		a[i]=b[i];
    	}
    }
    int main()
    {
    	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	m_sort(1,n);
    	//'for(int i=1;i<=n;i++) cout<<a[i]<<" ";
    	cout<<ans;
    	return 0;	
    }
    
    
    
    
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    ll n,q;
    ll a[1000005];
    int main()
    {
        ios::sync_with_stdio(0),cin.tie(0);
        cin>>n>>q;
        for(int i=1;i<=n;i++) cin>>a[i];
        sort(a+1,a+n+1);
        while(q--)
        {
            ll x;
            cin>>x;
            ll l=1,r=n,ans1=-1;
            while(l<=r)
            {
                int mid=(l+r)/2;
                if(a[mid]>x)
                {
                    ans1=a[mid];
                    r=mid-1;
                }
                else l=mid+1;
            }
            l=1,r=n;
            ll ans2=-1;
            while(l<=r)
            {
                ll mid=(l+r)/2;
                if(a[mid]<x)
                {
                    ans2=a[mid];
                    l=mid+1;
                }
                else r=mid-1;
            }
            cout<<ans1<<" "<<ans2<<endl;
        }
        return 0;
    }
    
    
    
    
    
    
    
    #include<bits/stdc++.h>
    using namespace std;
    int n,a[15],r;
    bool v[15];
    int f;
    void dfs(int k){
        if(f==1) return ;
        if(k>n){
            for(int i=1;i<=n;i++) 
    		{
    			cout<<a[i]<<" ";
    		}
            cout<<"\n";
            cin>>r;
            if(r==1) f=1;
            return ;
        }
        for(int i=1;i<=n;i++)
    	{
            if(v[i]==0){
                v[i]=1;
                a[k]=i;
                dfs(k+1);
                v[i]=0;
            }
        }
    }
    int main(){
        cin>>n;
        dfs(1);
        return 0;
    }
    
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    const ll N=1e8+5;
    bool a[N];
    bool b[N];
    bool c[N]; 
    ll d[N],ans,n;
    void dfs(ll i)
    {
    	if(i>n)
    	{
    		ans++;
    		for(int j=1;j<=n;j++) cout<<d[j]<<" ";
    		cout<<"\n";
    		return ;
    	}
    	for(int j=1;j<=n;j++)
    	{
    		if(a[j]==0&&b[i+j]==0&&c[i-j+n]==0)
    		{
    			
    			a[j]=1;
    			b[i+j]=1;
    			c[i-j+n]=1;
    			d[i]=j;
    			dfs(i+1);
    			a[j]=0;
    			b[i+j]=0;
    			c[i-j+n]=0;
    		} 
    	}
    	
    }
    int main()
    {
    	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    	cin>>n;
    	dfs(1);
    	cout<<ans;
    	return 0;
    }
    
    #include <bits/stdc++.h>
    using namespace std;
    const int N=1e8+5;
    #define ll long long
    ll a[10]={1},n,b;
    void dfs(ll step) {
    	if(b==0) {
    		if(step==2) return ;
    		for(int i=1;i<step;i++) {
    			if(i==1) cout<<a[i];
    			else cout<<"+"<<a[i];
    		}
    		cout<<endl;
    		return ;
    	}
    	if(b<0||step>n) return ;
    	for(int i=a[step-1];i<=b;i++) 
    	{
    		a[step]=i;
    		b-=i;
    		dfs(step+1);
    		b+=i;
    	}
    }
    int main(){
    	cin>>n;
    	b=n;
    	dfs(1);
    	return 0;
    }
    
    
    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    const ll N=1e8+5;
    ll arr[15][15],t,m,n;
    int main(){
        for(int i=0;i<=10;i++) arr[i][1]=1;
        for(int i=0;i<=10;i++) arr[0][i]=1;
        for(int i=1;i<=10;i++)
    	{
            for(int j=1;j<=10;j++)
    		{
                if(j>i) 
    			{
    				arr[i][j]=arr[i][i];
    			}
                else 
    			{
    				arr[i][j]=arr[i][j-1]+arr[i-j][j];
    			}
            }
        }
        cin>>t;
        while(t--)
    	{
            cin>>m>>n;
            cout<<arr[m][n]<<"\n";
        }
        return 0;
    }
    
    for(int i=0;i<=10;i++) dp[i][1]=1; // 只有1个盘子,全是1种放法
        for(int i=0;i<=10;i++) dp[0][i]=1; // 0个苹果,全是1种放法
        for(int i=1;i<=10;i++){
            for(int j=2;j<=10;j++){
                if(j>i) dp[i][j]=dp[i][i]; // 盘子比苹果多,用i个盘子就行
                else dp[i][j]=dp[i][j-1]+dp[i-j][j];
            }
        }
    
    
        #include<bits/stdc++.h>
    using namespace std;
    long long n;
    int t;
    int calc(long long n)
    {
        if(n%2==0)
            return -1;
        int cnt=0;
        long long sum=0;
        while(sum<n)
        {
            sum+=(1LL<<cnt);
            cnt++;
        }
        return cnt;
    }
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0);
        cin>>t;
        while(t--)
        {
            cin>>n;
            cout<<calc(n)<<'\n';
        }
        return 0;
    }
    #include<bits/stdc++.h>
    using namespace std;
    int t;
    long long n,m;
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0);
        cin>>t;
        while(t--)
        {
            cin>>n>>m;
            if(n==0)
            {
                if(m%2==0) cout<<"Yes\n";
                else cout<<"No\n";
            }
            else
            {
                if(m%2==1) cout<<"Yes\n";
                else cout<<"No\n";
            }
        }
        return 0;
    }
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1005;
    int n,m,k;
    int dx[]={0,1,0,-1};
    int dy[]={1,0,-1,0};
    bool vis[N][N];
    char a[N][N];
    int main()
    {
    	ios::sync_with_stdio(0),cin.tie(0);
    	int T;
    	cin>>T;
    	while(T--)
    	{
    		int x0,y0,d0;
    		cin>>n>>m>>k;
    		cin>>x0>>y0>>d0;
    		for(int i=1;i<=n;i++) cin>>a[i]+1;
    		for(int i=1;i<=n;i++)
    			for(int j=1;j<=m;j++)
    				vis[i][j]=0;
    		int x=x0,y=y0,d=d0,ans=1;
    		vis[x][y]=1;
    		while(k--)
    		{
    			int nx=x+dx[d],ny=y+dy[d];
    			if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&a[nx][ny]=='.')
    			{
    				x=nx,y=ny;
    				if(!vis[x][y]) vis[x][y]=1,ans++;
    			}
    			else d=(d+1)%4;
    		}
    		cout<<ans<<"\n";
    	}
    	return 0;
    }
    
  • 通过的题目

  • 最近活动

题目标签

TL/一阶
4
拆位问题
3
简单分支
1
模拟
1
其他
1
数学
1
TL/一阶/输入输出
1