【天梯赛历年真题题解】L1

L1-001 Hello World

#include<bits/stdc++.h>
int main()
{
    std::cout<<"Hello World!";
    return 0;
}

L1-002 打印沙漏

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    char c;
    scanf("%d %c",&n,&c);
    
    int sum=0;
    int Maxn=0;
    for(int i=1;;i+=2)
    {
        sum+=i;
        if(2*sum-1>n)
        {
            sum-=i;
            Maxn=i-2;
            break;
        }
    }
    int sum2=sum-1;
    int gg=n-2*sum+1;
    int k=0;
    int k2=Maxn;
    while(sum>0)
    {
        for(int j=0;j<k;j++)
        {
            cout<<' ';
        }
        for(int i=0;i<k2;i++)
        {
            cout<<c;
        }
        cout<<endl;
        k++;
        sum-=k2;
        k2-=2;        
    }   
    k-=2;
    k2=3;
    while(sum2>0)
    {
        for(int j=0;j<k;j++)
        {
            cout<<' ';
        }
        for(int i=0;i<k2;i++)
        {
            cout<<c;
        }
        cout<<endl;
        k--;
        sum2-=k2;
        k2+=2;   
    }
    cout<<gg;
    return 0;
}

L1-003 个位数统计

#include<bits/stdc++.h>
using namespace std;
int main()
{
   string N;
   cin>>N;
    map<int,int>vis;
    for(auto i : N)
        vis[i-'0']++;
    for(auto i : vis)
        cout<<i.first<<":"<<i.second<<endl;
    return 0;
}

L1-004 计算摄氏温度

//#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main()
{
    int F;
    cin>>F;
    int C=5*(F-32)/9;
      cout<<"Celsius = "<<C;
    return 0;
}

L1-005 考试座位号

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    scanf("%d",&N);
    string s;
    int x;
    int y;
    //x -s,y;
    map<int,pair<string,int>> vis;
    while(N--)
    {
        cin>>s>>x>>y;
        vis[x]={s,y};
    }
    int M;
    cin>>M;
    int g;
    while(M--)
    {
        cin>>g;
        cout<<vis[g].first<<" "<<vis[g].second<<endl;
    }
    return 0;
}

L1-006 连续因子

#include<bits/stdc++.h>
using namespace std;
int Maxn=0;
vector<int>t;
vector<int>ans;
// void dfs(int n,int s,int k)
// {
//     if(k>Maxn)
//     {
//         Maxn=k;
//         ans=t;
//     }
//     if(n<k)
//         return ;
//     for(int i=s;i<=n;i++)
//     {
//         if(n%i==0)
//         {
//             if(i==s)
//             {
//                 t.push_back(i);
//                 dfs(n/i,i+1,k+1);
//                 t.pop_back();
//             }         
//             else
//             {
//                 t.clear();
//                 t.push_back(i);
//                 dfs(n/i,i+1,1);
//             }
//         }       
//     }
// }

int main()
{
    int n;
    cin>>n;
//     dfs(n,2,0);
//     cout<<Maxn<<endl;
//     for(int i=0;i<ans.size();i++)
//     {
//         if(i==0)
//             cout<<ans[i];
//         else cout<<"*"<<ans[i];
//     }
    
    int m=sqrt(n)+1;
    int first=0;
    int count=0;
    int ok=0;
    for(int i=2;i<=m;i++)
    {
        if(n%i==0)
        {
            ok=1;
            break;
            
        }
    }
    if(ok==0)
    {
        cout<<1<<endl;
        cout<<n;
        return 0;
    }
    for(int i=2;i<=m;i++)
    {
        int sum=1;
        int j=i;
        for(;j<=m;j++)
        {
            sum*=j;
            if(n%sum!=0)
            {
                break;
            }
        }
        if(j-i>count)
        {
            count=j-i;
            first=i;
        }
    }
    cout<<count<<endl;
    cout<<first;
    count--;
    while(count--)
    {
        cout<<"*"<<(++first);
    }
    return 0;
}

L1-007 念数字

#include<bits/stdc++.h>
using namespace std;
int main()
{
    unordered_map<char,string>vis;
    vis['0']="ling";
    vis['1']="yi";
    vis['2']="er";
    vis['3']="san";
    vis['4']="si";
    vis['5']="wu";
    vis['6']="liu";
    vis['7']="qi";
    vis['8']="ba";
    vis['9']="jiu";
    vis['-']="fu";
    string s;
    cin>>s;
    int n=s.length();
    for(int i=0;i<n;i++){
        if(i==n-1)
            cout<<vis[s[i]];
        else    cout<<vis[s[i]]<<' ';
}
    return 0;
}

L1-008 求整数段和

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int s,e;
    cin>>s>>e;
    int k=0;
    int sum=0;
    for(int i=s;i<=e;i++)
    {
    	sum+=i;
    	if(i==0)
    		cout<<"    "<<i;
    	else printf("%5.d",i);
    	k++;
    	if(k==5)
    	{
    		k=0;
    		cout<<endl;
		}
	}
    if(k==0)
        cout<<"Sum = "<<sum;
	else cout<<endl<<"Sum = "<<sum;
    return 0;
}

L1-009 N个数求和

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n;
    cin>>n;
    vector<long long int>a(n);
    vector<long long int>b(n);
    for(int i=0;i<n;i++)
    {
//         long long int x;
//         long long int y;
        
        //scanf("%d/%d",&a[i],&b[i]);
        string s;
        cin>>s;
        int k=s.find('/');
        a[i]=atol(s.substr(0,k).data());
        b[i]=atol(s.substr(k+1).data());
     //   cout<<a[i]<<" "<<b[i]<<endl;
    }
    
    long long int x=a[0];
    long long int y=b[0];
    for(int i=1;i<n;i++)
    {
        long long int oldy=y;
        y=b[i]*y;
        x=x*b[i]+a[i]*oldy;
        long long int gcd=__gcd(x,y);
        x=x/gcd;
        y=y/gcd;
      //   cout<<x<<" "<<y<<endl;
    }
   // cout<<x<<" "<<y<<endl;
    if(x%y==0)
    {
        cout<<x<<endl;
    }
    else
    {
        if(x/y!=0)
        {
            cout<<x/y<<" "<<x%y<<"/"<<y<<endl;
        }
        else
        {
            cout<<x<<"/"<<y<<endl;
        }
    }
    
	return 0;
 }

L1-010 比较大小

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[3];
    for(int i=0;i<3;i++)
           cin>>a[i];
    sort(a,a+3);
    cout<<a[0]<<"->"<<a[1]<<"->"<<a[2];
    return 0;
}

L1-011 A-B

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s1;
    string s2;
    getline(cin,s1);
    getline(cin,s2);
   // cout<<s1<<"  "<<s2<<endl; 
    unordered_map<char,int>vis;
    for(auto i : s2)
          vis[i]=1;
   string res;
    for(auto i : s1)
    {
        if(vis.count(i)==0)
            res.push_back(i);
    }
    cout<<res;
    return 0;
}

L1-012 计算指数

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
   cout<<"2^"<<n<<" = "<<pow(2,n);
    return 0;
}

L1-013 计算阶乘和

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    long long int dp[100];
    long long int sum=1;
    
	dp[1]=1;
    for(int i=2;i<=n;i++)
    {
        dp[i]=dp[i-1]*i;
        sum+=dp[i];
    }
    cout<<sum;
    return 0;
}

L1-014 简单题

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    cout<<"This is a simple problem.";
    return 0;
}

L1-015 跟奥巴马一起画方块

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    //cout<<"This is a simple problem";
    int n;
    char c;
  
   
    cin>>n;
    cin>>c;
   // cout<<c<<" ";
     double w=n*1.0/2;
   int m=0;
    m=round(w);
	//cout<<m; 
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            cout<<c;
        cout<<endl;
    }
    return 0;
}

L1-016 查验身份证

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int N;
   cin>>N;
    int N2=N;
   string s;
    int a[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    //0 1 2 3 4 5 6 7 8 9 10
 //M:1 0 X 9 8 7 6 5 4 3 2
    unordered_map<int,char>vis;
    vis[0]='1';
    vis[1]='0';
    vis[2]='X';
    vis[3]='9';
    vis[4]='8';
    vis[5]='7';
    vis[6]='6';
    vis[7]='5';
    vis[8]='4';
    vis[9]='3';
    vis[10]='2';
    vector<string>ans;
    while(N--)
    {
        cin>>s;
        long int sum=0;
        int ok=1;
         
        for(int i=0;i<s.length()-1;i++)
        {
            if(s[i]<'0'||s[i]>'9')
            {
                ok=0;
                break ;
            }
            sum=sum+((s[i]-'0')*a[i]);
        }           
    	if(ok==0)
          {
            ans.push_back(s);
            continue ;
           }                       
        if(vis.find(sum%11)==vis.end()||vis[sum%11]!=s[s.length()-1])
            ans.push_back(s);
    }
    if(ans.size()==0)
    {
        cout<<"All passed";
    }
    else
    {
       // cout<<ans.size()<<endl;
        for(auto i : ans)
            cout<<i<<endl;
    }
	return 0;
 }

L1-017 到底有多二

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    string s;
    cin>>s;
    int sum=0;
    for(auto i : s)
         if(i=='2')
              sum++;
    int len=s.length();
    int k=s[len-1]-'0';//最后一位
    //比值
    double biz=sum*1.0/(len);
    if(s[0]=='-')
    {
    	 biz=sum*1.0/(len-1);
         biz=biz*1.5;
     
    }
	 if(k%2==0)
       {
            biz=biz*2;
        }
   biz=biz*100;
   printf("%.2lf",biz);
   cout<<"%";
    return 0;
}

L1-018 大笨钟

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    //00:00到中午12:00
    string s;
    cin>>s;
    int k=s.find(':');
    string xs=s.substr(0,k);
    string fz=s.substr(k+1);
    int xs_i=atoi(xs.data());
    int fz_i=atoi(fz.data());
    if(xs_i>=0&&xs_i<=11)
           cout<<"Only "<<s<<".  Too early to Dang.";
    if(fz_i==0&&xs_i==12)
          cout<<"Only "<<s<<".  Too early to Dang.";
    if(fz_i==0) //23 :00
    {
      //  if(xs_i>12)
        xs_i-=12;
        for(int i=0;i<xs_i;i++)
            cout<<"Dang";
    }
    else
    {
         xs_i-=12;
        for(int i=0;i<=xs_i;i++)
            cout<<"Dang";
    }
  
    return 0;
}

L1-019 谁先倒

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int ajl;
   int bjl;
    cin>>ajl>>bjl;
    int N;
    int a=0;
    int b=0;
    int x1,y1;
    int x2,y2;
    cin>>N;
    int ok=0;
    while(N--)
    {
        if(ok==1)
            return 0;
        cin>>x1>>y1>>x2>>y2;
        
        int sum=x1+x2;
       // if(y1==sum&&(a+1)>)
        
        if(y1==sum&&(a+1)>ajl)
        {
             cout<<'A'<<endl;
            cout<<b;
            ok=1;
           continue ;
        }
        if(y2==sum&&(b+1)>bjl)
        {
             cout<<'B'<<endl;
            cout<<a;
            ok=1;
            continue ;
        }
        if(y1==sum&&y2==sum)
            continue ;
        if(y1==sum)
        {
            a++;
        }
         if(a>ajl)
        {
            cout<<'A'<<endl;
            cout<<b;
            ok=1;
           continue ;
        }
        if(y2==sum)
        {
            b++;
        }
      
        if(b>bjl)
        {
            cout<<'B'<<endl;
            cout<<a;
            ok=1;
            continue ;
        }
    }
	return 0;
 }

L1-020 帅到没朋友

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
   
    int N;
    int n;
    cin>>N;
    unordered_map<string,int>vis;
    while(N--)
    {
        cin>>n;
        string num;
        unordered_set<string>t;
        for(int i=0;i<n;i++)
        {
            cin>>num;
            t.insert(num);
        }
        if(t.size()>1)
        {
            for(auto i : t)
                vis[i]=1;
        }
       
    }
    int M;
    cin>>M;
    string num2;
    vector<string>ans;
    unordered_map<string,int>aa;
    for(int i=0;i<M;i++)
    {
        cin>>num2; 
      	if(!vis.count(num2))//没有朋友的人
        {
            if(aa[num2]) continue ;
             aa[num2]=1;
             ans.push_back(num2);
        }		        
    }
     if(ans.size()==0)//
         cout<<"No one is handsome";
   else
   {
       int ok=0;
       for(auto i : ans)
       {
           if(ok==0)
           {
               cout<<i;
               ok=1;
           }
           else
               cout<<" "<<i;
       }
   }
    
   
    return 0;
}

L1-021 重要的话说三遍

#include<bits/stdc++.h>
using namespace std;
int main()
{
    

    printf("I'm gonna WIN!\nI'm gonna WIN!\nI'm gonna WIN!");
    return 0;
}

L1-022 奇偶分家

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
   
   int N;
    cin>>N;
    int n1=0;
    int n2=0;
    while(N--)
    {
        int num;
        cin>>num;
        if(num%2==0)
            n1++;
       else n2++;
    }
    cout<<n2<<" "<<n1;
    return 0;
}

L1-023 输出GPLT

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    string s;
    cin>>s;
    //s.upper();
    unordered_map<char,int>vis;
    for(auto i : s)
    {
    	char k=toupper(i);
        vis[k]++;
    }
    while(vis['G']||vis['P']||vis['L']||vis['T'])
    {
        if(vis['G'])
        {
            cout<<'G';
            vis['G']--;            
        }
        if(vis['P'])
        {
            cout<<'P';
             vis['P']--;  
        }
        if(vis['L'])
        {
            cout<<'L';
             vis['L']--;  
        }
        if(vis['T'])
        {
            cout<<'T';
             vis['T']--;  
        }
    }
    
    
    return 0;
}

L1-024 后天

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    int N;
    cin>>N;
    cout<<(N+2-1)%7+1;
    
    
    return 0;
}

L1-025 正整数A+B

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    getline(cin,s);
    int k;
    k=s.find(' '); 
    string q=s.substr(0,k);
    int n=s.length(); 
    string h=s.substr(k+1);
    int qok=1;
    int hok=1;
    for(auto i :q)  
        if(i<'0'||i>'9')//
        {
            qok=0;
            break;
        }
     for(auto i : h)
        if(i<'0'||i>'9')
        {
             hok=0;
            break;
        }
     if(qok==1)
     {
         if(q.size()>=10||q[0]=='0')
             qok=0;
         long long int a=atoll(q.data());
         if(a>1000)
             qok=0;
     }
    if(hok==1)
    {
        if(h.size()>=10||h[0]=='0')
             hok=0;
        long long int a=atoll(h.data());
        if(a>1000)
            hok=0;
    }
   
    if(q.size()==0)
        qok=0;
    string ans;
    if(qok==0)
    {
        ans.push_back('?');
    }
    else ans+=q;
    ans+=" + ";
    if(hok==0)
    {
        ans.push_back('?');
    }
    else ans+=h;
    ans+=" = ";
    if(qok==0||hok==0)
        cout<<ans<<'?';
    else 
        cout<<ans<<atoi(q.data())+atoi(h.data());
    return 0;
}

L1-026 |Love GPLT

#include<bits/stdc++.h>
using namespace std;
int main()
{
   printf("I\n \nL\no\nv\ne\n \nG\nP\nL\nT\n");//I Love GPLT
    return 0;
}

L1-027 出租

//num = arr[index[i]];
#include<bits/stdc++.h>
using namespace std;
int main()
{
   string s;
    cin>>s;
   // set<char>se;
    map<char,int>vis;
    for(auto i : s)
    {
        vis[i]++;
    }
    vector<char>arr;
    for(auto i : vis)
        arr.push_back(i.first);
    sort(arr.rbegin(),arr.rend());
    //arr
    vector<int>index;
    map<char,int>vis2;
    for(int i=0;i<arr.size();i++)
    {
        vis2[arr[i]]=i;
    }
    for(auto i : s)
        index.push_back(vis2[i]);
    cout<<"int[] arr = new int[]{";
   for(int i=0;i<arr.size();i++)
   {
       if(i<arr.size()-1)
       cout<<arr[i]<<",";
       else cout<<arr[i];
   }
    cout<<"};"<<endl;
    cout<<"int[] index = new int[]{";
    for(int i=0;i<index.size();i++)
   {
       if(i<index.size()-1)
       cout<<index[i]<<",";
       else cout<<index[i];
   }
    cout<<"};";

    return 0;
}

L1-028 判断素数

//num = arr[index[i]];
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    cin>>N;
    int num;
        int ok=0;
    while(N--)
    {
        ok=0;
        cin>>num;
        if(num==1)
        {
            cout<<"No\n";
            continue;
        }
        int g=sqrt(num+0.5);
        for(int i=2;i<=g;i++)
        {
            if(num%i==0)//不是素数
            {
                ok=1;
                break;
            }
        }
        if(ok==1)
            cout<<"No\n";
        else 
            cout<<"Yes\n";
    }
    return 0;
}

L1-029 是不是太胖了

#include<bits/stdc++.h>
using namespace std;
int main()
{
     int N;
    cin>>N;
    //减去100、再乘以0.9
    printf("%.1f",(N-100)*0.9*2);
    return 0;
}

L1-030 -帮一

//num = arr[index[i]];
#include<bits/stdc++.h>
using namespace std;
int main()
{

    vector< pair<string,int> >ns;
    vector< pair<string,int> >rs;
  //  for(auto i);
    int N;
    cin>>N;
    string s;
    getchar();
    int k=1;
    while(N--)
    {
       getline(cin,s);
       if(s[0]=='1')
       {
           ns.push_back({s.substr(2),k++});
       }
        else
        {
            rs.push_back({s.substr(2),k++});
        }            
    }
     int n=ns.size();
     sort(ns.begin(),ns.end(),[&](pair<string,int>n1,pair<string,int>n2){return n1.second<n2.second;});
     sort(rs.begin(),rs.end(),[&](pair<string,int>n1,pair<string,int>n2){return n1.second>n2.second;});
     map<int,pair<string,string>> vis;
    //cout<<ns[0].first<<endl;
    for(int i=0;i<n;i++)
    {
        if(ns[i].second<rs[i].second)
           vis[ns[i].second]={ns[i].first,rs[i].first};
        else
           vis[rs[i].second]={rs[i].first,ns[i].first};
    }
    for(auto i  :vis)
        cout<<i.second.first<<" "<<i.second.second<<endl;;
    return 0;
}

L1-031 到底是不是太胖了

//num = arr[index[i]];
#include<bits/stdc++.h>
using namespace std;
int main()
{

   int N;
    cin>>N;
    double sg;
    double tz;
    while(N--)
    {
        cin>>sg>>tz;
        tz=tz/2;
        double bztz=(sg-100)*0.9;
        double k=bztz*0.1;
        if(fabs(bztz-tz)<k)
            cout<<"You are wan mei!\n";
       else
       {
           if(bztz>tz)
             cout<<"You are tai shou le!\n";
           else
              cout<<"You are tai pang le!\n";
        }
         
    }
    return 0;
}

L1-032 Left-pad

//num = arr[index[i]];
#include<bits/stdc++.h>
using namespace std;
int main()
{

   int N;
   char c;
   scanf("%d %c",&N,&c);
   getchar();
   string s;
    getline(cin,s);
   // cout<<c<<endl;
    int n=s.length();
    if(n>=N)  //  0123456  7-3
        cout<<s.substr(n-N);
    else
    {
        int k=N-n;
        string aa(k,c);
     //   cout<<aa;
        cout<<aa+s;
    }
    return 0;
}

L1-033 出生年

//num = arr[index[i]];
#include<bits/stdc++.h>
using namespace std;
int main()
{

  int year;
   int n;
    cin>>year>>n;
  
    for(int i=year;;i++)
    {
        int k=i;
        int cnt=4;
          unordered_map<int,int>vis;
          int sum=0;
        while(cnt--)
        {
            if(!vis.count(k%10))
            {
                sum++;
                vis[k%10]=1;
            }
            k/=10;
        }
        if(sum==n)
        {
            cout<<i-year<<" ";
            if(i<10)
            {
                cout<<"000"<<i;
                break;
            }
            if(i<100)
            {
                cout<<"00"<<i;
                 break;
            }
            if(i<1000)
            {
                cout<<'0'<<i;
                 break;
            }
            cout<<i;
             break;
        }
    }
    return 0;
}

L1-034 点赞

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    cin>>N;
    int n;
    int s;
    unordered_map<int,int>vis;
    while(N--)
    {
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>s;
            vis[s]++;
        }    
    }
    int Max=-1;
    int ss;
    for(auto i : vis)
    {        
        
        if(i.second==Max&&i.first>ss)
        {
            ss=i.first;
        }
        if(i.second>Max)
        {
            Max=i.second;
            ss=i.first;
        }
    }
    cout<<ss<<" "<<Max;
    return 0;
}

L1-035 情人节

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n=0;
    string l1;
    string l2;
    string s;
    while(1)
    {
        cin>>s;
        
        if(s==".")
            break;
        n++;
        if(n==2)
        {
            l1=s;
        }
        if(n==14)
        {
            l2=s;
        }
            
    }
    if(n<2)
    {
        cout<<"Momo... No one is for you ...";
    }
    else if(n<14)
    {
        cout<<l1<<" is the only one for you...";
    }else{
        cout<<l1<<" and "<<l2<<" are inviting you to dinner...";
    }
    
    return 0;
}

L1-036 A乘以B

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n1;
   int n2;
    cin>>n1>>n2;
   cout<<n1*n2; 
    
    return 0;
}

L1-037 A除以B

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n1;
    int n2;
    cin>>n1>>n2;
    if(n2==0)
    {
        cout<<n1<<'/'<<"0=Error";
    }
    else
    {
         double res=n1*1.0/n2;
         if(n2<0)
         {
             cout<<n1<<'/'<<"("<<n2<<")=";
             printf("%.2f",res);
         }
        else{
            printf("%d/%d=%.2f",n1,n2,res);
        }
    }
   
    return 0;
}

L1-038 新世界

#include<bits/stdc++.h>
using namespace std;
int main()
{
    printf("Hello World\nHello New World");
    return 0;
}

L1-039 古风排版

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    cin>>N;
    getchar();
    string s;
    getline(cin,s);
    vector<char>ans[10000];
    int n=s.length();
    int k=0;
    int cnt=0;
    int Max=0;
    for(int i=0;i<n;i++)
    {
        ans[k].push_back(s[i]);
        cnt++;
        if(cnt==N)
        {
            cnt=0;
            k++;
        }       
    }
    if(cnt==0)
        k--;
    for(int i=1;i<=N;i++)
    {
        for(int j=k;j>=0;j--)
        {
            if(ans[j].size()>=i)
                cout<<ans[j][i-1];
        	else
        		cout<<' ';
        }
          cout<<endl;
    }
    return 0;
}

L1-040 最佳情侣身高差

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    cin>>N;
    while(N--)
    {
        char c;
        double s;
        cin>>c>>s;
        if(c=='M')
        {
            printf("%.2f\n",s/1.09);
        }else{
            printf("%.2f\n",s*1.09);
        }
    }
	return 0;
}

L1-041 寻找250

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int N;
    int i=1;
   while(scanf("%d",&N))
   {
       if(N==250)
       {
           cout<<i;
           break;
       }
       i++;
   }
	return 0;
}

L1-042 日期格式化

#include<bits/stdc++.h>
using namespace std;
int main()
{
  string s;
   string s2;
   string s3;
   s3.resize(4);
   s.resize(2);
   s2.resize(2);
    scanf("%2s-%2s-%4s",s.c_str(),s2.c_str(),s3.c_str());
    
   cout<<s3<<'-'<<s<<'-'<<s2;
	return 0;
}

L1-043 阅览室

#include<bits/stdc++.h>
using namespace std;
int main()
{

    int N;
    cin>>N;
    for(int i=1;i<=N;i++)
    {
        unordered_map<int,int>vis;
        int sum=0;
        int cnt=0;
        while(1)
        {
            int num;
            char c;
            int fz;
            int xs;
            scanf("%d %c %d:%d",&num,&c,&xs,&fz);
//             getchar();
//             cout<<num<<" "<<c<<" "<<xs<<" "<<fz<<" "<<endl;
            int sj=xs*60+fz;
            if(num==0)
               break;
            if(c=='E')
            {
                if(!vis.count(num))
                    continue;
                sum=sum+(sj-vis[num]);
                vis.erase(num);
                cnt++;
            }
            else//s
            {
                vis[num]=sj;
            }
        }
        if(cnt==0)
            printf("%d %d\n",cnt,0);
      else 
      {
          int k=round(sum*1.0/cnt);
              printf("%d %d\n",cnt,k);
        }
    //    cout<<cnt<<" "<<endl;
    }
    return 0;
   }

L1-044 稳赢

#include<bits/stdc++.h>
using namespace std;
int main()
{
    unordered_map<string,string>vis;
    vis["Bu"]="JianDao";
    vis["JianDao"]="ChuiZi";
    vis["ChuiZi"]="Bu";
    int N;
    cin>>N;
    string s;
    int cnt=0;
    while(cin>>s)
    {
        if(s=="End")
            break;
         cnt++;
         if(cnt==N+1)
         {
             cout<<s<<endl;
             cnt=0;
         }
        else
        {
            cout<<vis[s]<<endl;
        }
       
    }
	return 0;
}

L1-045 宇宙无敌大招呼

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
   cout<<"Hello "<<s;
	return 0;
}

L1-046 整除光棍

//gg/x=s
//gg=x*s  qiu s 和gg.len

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n;
    cin>>n;
    int r=0;
    int cnt=0;
    while(1)
    {
        if(r<n)
        {
            cnt++;
            r=r*10+1;
        }
        else
        {
            cout<<r/n;
            r=r%n;
        }       
        if(r==0)
            break;
    }
    cout<<" "<<cnt;
	return 0;
}

L1-047 装睡

//gg/x=s
//gg=x*s  qiu s 和gg.len

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int N;
   cin>>N;
    string s;
    int a;
    int b;
    while(N--)
    {
        cin>>s>>a>>b;
        if(a<15||a>20)
        {
            cout<<s<<endl;
            continue;
        }
        if(b<50||b>70)
        {
            cout<<s<<endl;
            continue;
        }
    }
	return 0;
}

L1-048 矩阵A乘以B

//gg/x=s
//gg=x*s  qiu s 和gg.len

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n1;
    int m1;
    cin>>n1>>m1;
    vector<vector<int>>a(n1,vector<int>(m1));
    for(int i=0;i<n1;i++)
    {
        for(int j=0;j<m1;j++)
        {
            cin>>a[i][j];
        }
    }
    int n2;
    int m2;
    cin>>n2>>m2;
    vector< vector<int> >b(n2,vector<int>(m2));
    for(int i=0;i<n2;i++)
    {
        for(int j=0;j<m2;j++)
        {
            cin>>b[i][j];
        }
    }
    if(m1!=n2)
    {
        cout<<"Error: "<<m1<<" != "<<n2<<endl;
    }
    else
    {
        cout<<n1<<" "<<m2<<endl;
       	for(int i=0;i<n1;i++)
        {
            for(int j=0;j<m2;j++)
            {
                int sum=0;
                for(int k=0;k<m1;k++)
                    sum+=a[i][k]*b[k][j];
                if(j<m2-1)cout<<sum<<" ";
                else cout<<sum;
            }
            cout<<endl;
        }
    }
	return 0;
}

L1-049 天梯赛座位分配

#include<bits/stdc++.h>
using namespace std;
vector<int>G[101];
int a[101];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int cnt=1;
    int per=-1;
    while(1)
    {
        
        int ok=1;
        for(int i=0;i<n;i++)
        {
            if(G[i].size()<a[i]*10&&i!=per)
            {
                G[i].push_back(cnt);
                ++cnt;
                per=i;
                ok=0;
            }
        }
        if(ok)//
        {
            int l=G[per][G[per].size()-1];
            while(G[per].size()<a[per]*10)
            {
                G[per].push_back(l+2);
                l+=2;
            }
           
            break;
        }
    }      
    for(int i=0;i<n;i++)
    {
        cout<<"#"<<(i+1);
        for(int j=0;j<G[i].size();j++)
        {
            if(j%10==0) //0 10 20 30 
                cout<<endl<<G[i][j];
            else cout<<" "<<G[i][j];           
        }
        cout<<endl;
    }    
    return 0;
}

L1-050 倒数第N个字符串

#include<bits/stdc++.h>
using namespace std;
int main()
{
	   int N,k;
	    cin>>N>>k;
    string s(N,'z');
  
    string jz="abcdefghijklmnopqrstuvwxyz";
    long long int res=0;
   for(int i=0;i<N;i++)
        res+=25*pow(26,i);
     res=res-k+1;
    string ans;
    while(N--)
    {
        
        ans.push_back(jz[res%26]);
        //或者 ans= s[a%16] +ans ;拼接到前面 
        res=res/26;//将16换成别的数即可 
    }
    reverse(ans.begin(),ans.end());
   cout<<ans; 
	return 0;
}

L1-051 打折

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a;
    int b;
   cin>>a>>b;
   printf("%.2f",a*1.0*(b*1.0/10));
	return 0;
}

L1-052 2018我们要赢

#include<bits/stdc++.h>
using namespace std;
int main()
{
   cout<<"2018"<<endl<<"wo3 men2 yao4 ying2 !";
	return 0;
}

L1-053 电子汪

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int a,b;
    cin>>a>>b;
    string s;
    for(int i=0;i<a+b;i++)
    {
        s.append("Wang!");
    }
    cout<<s;
	return 0;
}

L1-054 福到了

#include<bits/stdc++.h>
using namespace std;
int main()
{
   char s;
   char k;
    int N;
    cin>>s>>N;
    k=getchar();
    char vis[1000][1000];
    char vis2[1000][1000];
    for(int i=0;i<N;i++){
        for(int j=0;j<N;j++){
           cin.get(vis[i][j]);
            if(vis[i][j]!=' ')
				vis2[N-1-i][N-1-j]=s;
            else vis2[N-1-i][N-1-j]=' ';
        }
    k=getchar();
    }
    int ok=1;
     for(int i=0;i<N;i++)
         {
        for(int j=0;j<N;j++)
            {
               if(vis[i][j]==' '&&vis2[i][j]!=' ')
               {
                   ok=0;
                   break;
                }
            }
    }
    if(ok==1)
        cout<<"bu yong dao le"<<endl;
    for(int i=0;i<N;i++)
    {
        for(int j=0;j<N;j++)
            {
                cout<<vis2[i][j];
            }
        cout<<endl;
    }
	return 0;
}

L1-055 谁是赢家

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int a,b;
    cin>>a>>b;
    int apw=0;
    int bpw=0;
    int k;
    for(int i=0;i<3;i++)
    {
        cin>>k;
        if(k==1)
        {
            bpw++;
        }
        else
            apw++;
    }
    if(a>b)
    {
        if(apw!=0)
        {
            cout<<"The winner is a: "<<a<<" + "<<apw;
        }
        else
        {
            cout<<"The winner is b: "<<b<<" + "<<bpw;
        }
    }else{
        if(bpw!=0)
        {
            cout<<"The winner is b: "<<b<<" + "<<bpw;
        }
        else
        {
            cout<<"The winner is a: "<<a<<" + "<<apw;
        }
    }
    
	return 0;
}

L1-056 猜数字

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    unordered_map<string,int>vis;
    int N;
    cin>>N;
    int k=N;
    int sum=0;
    while(N--)
    {
        string s;
        int ps;
        cin>>s;
        cin>>ps;
        vis[s]=ps;
        sum+=ps;
    }
    int pjs=sum/k/2;
    //cout<<pjs;
    string res;
    int ans=INT_MAX;
    for(auto &i: vis)
    {
        if(abs(i.second-pjs)<ans)
        {
            res=i.first;
            ans=abs(i.second-pjs);
        }
    }
    cout<<pjs<<" "<<res;
	return 0;
}

L1-057 PTA使我精神焕发

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 	cout<<"PTA shi3 wo3 jing1 shen2 huan4 fa1 !";
	return 0;
}

L1-058 6翻了

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 	string s;
    getline(cin,s);
    string res;
    int k=0; //1234566666
    for(int i=0;i<s.length();i++)
    {
        if(s[i]=='6')
        {
            continue;
        }
        else
        {
            if(i-k>9)
            {
                res.append("27");
                k=i;
                
            }else if(i-k>3)
            {
                res.push_back('9');
                k=i;
            }
                res.append(s.substr(k,i-k+1));
                k=i+1;
                
        }
    }
    if(k!=s.length())
    {
        if(s.length()-k>9)
        {
          res.append("27");
                         
            }else if(s.length()-k>3)
            {
                res.push_back('9');
               
            }
               
             
    }
    cout<<res;
	return 0;
}

L1-059 敲笨钟

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 	int N;
    cin>>N;
    getchar();
    string s;
    int ok=1;
    while(N--)
    {
        getline(cin,s);
        int k=s.find(',');
        int k2=s.find('.');
        string q;
        if(k>=3)
            q=s.substr(k-3,3);
        else ok=0;
        string h;
        h=s.substr(k2-3,3);
        if(ok=1&&q=="ong"&&h=="ong")
        {
            int k=0;
            for(int i=s.length()-1;i>=0;i--)
            {
                if(s[i]==' ')
                     k++;
                if(k==3)
                {
                    s.replace(i+1,s.length()-i,"qiao ben zhong.");
                    cout<<s<<endl;
                    break;
                }
            }
        }
        else
        {
            cout<<"Skipped"<<endl;
        }
    }
	return 0;
}

L1-060 心理阴影面积

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 	int x,y;
    cin>>x>>y;
     int sbx=(100*100)/2;
    int xb=y*50;
    int zb=(100-x)*50;
    cout<<sbx-xb-zb;
	return 0;
}

L1-061 新胖子公式

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    double sg;
    double tz;
    cin>>tz>>sg;
    double bz=(tz/(sg*sg));
  
     printf("%.1f\n",bz);
    if(bz>25)
    {
        cout<<"PANG";
    }
    else{
        cout<<"Hai Xing";
    }
	return 0;
}

L1-062 幸运彩票

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int num;
    int N;
    cin>>N;
    while(N--)
    {
       string q;
       string h;
        q.resize(3);
        h.resize(3);
        scanf(" %3s%3s",q.c_str(),h.c_str());
       int qq=atoi(q.data());
        int hh=atoi(h.data());
        int cnt=3;
        int sum=0;
        while(cnt--)
        {
            sum+=(qq%10);
            sum-=(hh%10);
            qq/=10;
            hh/=10;
}
        if(sum==0)
        {
            cout<<"You are lucky!"<<endl;
        }
        else
        {
            cout<<"Wish you good luck."<<endl;
        }
    }
	return 0;
}

L1-063 吃鱼还是吃肉

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int N;
    cin>>N;
    int xb;
    int sg;
    int tz;
    int n1=130;
    int n2=27;
    int m1=129;
    int m2=25;
    while(N--)
    {
        cin>>xb>>sg>>tz;
        //8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。
        if(xb==1)
        {
            if(sg==n1)
            {
                cout<<"wan mei! ";
                
            }
            else if(sg>n1)
            {
                cout<<"ni li hai! ";
            }
            else 
            {
                cout<<"duo chi yu! ";
            }
            if(tz==n2)
            {
                cout<<"wan mei!"<<endl;
            }
            else if(tz>n2)
            {
                cout<<"shao chi rou!"<<endl;
            }
            else 
            {
                cout<<"duo chi rou!"<<endl;
            }
        }
        else{
            if(sg==m1)
            {
                cout<<"wan mei! ";
            }
            else if(sg>m1)
            {
                cout<<"ni li hai! ";
            }
            else 
            {
                cout<<"duo chi yu! ";
            }
            if(tz==m2)
            {
                 cout<<"wan mei!"<<endl;
            }
            else if(tz>m2)
            {
                cout<<"shao chi rou!"<<endl;
            }
            else 
            {
                cout<<"duo chi rou!"<<endl;
            }
        }
    }
	return 0;
}

L1-064 估值一亿的AI核心代码


L1-065 嫑废话上代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 	cout<<"Talk is cheap. Show me the code.";
	return 0;
}

L1-066 猫是液体

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int c,k,g;
    cin>>c>>k>>g;
 	cout<<c*k*g;
	return 0;
}

L1-067 洛希极限

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    double a;
    int k;
    double bs;
    cin>>a>>k>>bs;
       double res;
    if(k==1)//gt//,刚体对应的倍数是 1.26
    {
     
        res=a*1.26;
       
    }
    else//lt//流体对应的倍数是 2.455
    {
       
        res=a*2.455;
        
    }
    printf("%.2f ",res);
     if(res<bs)
        {
         
            cout<<"^_^"<<endl;
        }
        else
        {
            cout<<"T_T"<<endl;
        }
	return 0;
}

L1-068 调和平均

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int N;
    cin>>N;
    int k=N;
    double num;
    double res=0;
    while(N--)
    {
        cin>>num;
        res+=(1.0/num);
    }
    printf("%.2f",1/(res/k));
	return 0;
}

L1-069 胎压监测

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int w[5];
    int a;
    int b;
    for(int i=1;i<=4;i++)
        cin>>w[i];
    cin>>a>>b;//依次为 1~4 号轮胎的胎压、最低报警胎压、以及胎压差的阈值。
    int Max=-1;
    for(int i=1;i<=4;i++)
    {
        /*如果所有轮胎的压力值与它们中的最大值误差在一个给定阈值内,并且都不低于系统设定的最低报警胎压,则说明情况正常,不报警*/
        Max=max(Max,w[i]);
    }
    /*如果所有轮胎的压力值与它们中的最大值误差在一个给定阈值内,并且都不低于系统设定的最低报警胎压,则说明情况正常,不报警;
如果存在一个轮胎的压力值与它们中的最大值误差超过了阈值,或者低于系统设定的最低报警胎压,则不仅要报警,而且要给出可能漏气的轮胎的准确位置;
如果存在两个或两个以上轮胎的压力值与它们中的最大值误差超过了阈值,或者低于系统设定的最低报警胎压,则报警要求检查所有轮胎。*/
   
    set<int>sum;
    for(int i=1;i<=4;i++)
    {
        if(abs(w[i]-Max)>b)//超过
        {
            sum.insert(i);
        }
        if(w[i]<a)//低于
        {
            sum.insert(i);
        }
        
    }
    if(sum.size()==0)
    {
        cout<<"Normal"<<endl;
    }
    if(sum.size()==1)
   {

        cout<<"Warning: please check #"<<*sum.begin()<<"!"<<endl;
   }
    if(sum.size()>=2)
    {
        cout<<"Warning: please check all the tires!"<<endl;
    }
	return 0;
}

L1-070 吃火锅

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    string s;
    int sum=0;
    int cnt=1;
    int first=-1;
    int ok=1;
    while(getline(cin,s))
    {
        if(s==".")
        {   break;   
        }
        if(s.find("chi1 huo3 guo1")!=-1)
        {
            if(ok==1)
            {
                first=cnt;
                ok=0;
            }
            sum++;
        }
        cnt++;
    }
    cout<<cnt-1<<endl;
    if(sum==0)
    {
        cout<<"-_-#";
}
    else
    cout<<first<<" "<<sum;
	return 0;
}

L1-071 前世档案

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int cnt;
    cin>>cnt;
    long long k=pow(2,cnt);
    int N;
    cin>>N;
    string s;
    while(N--)
    {
        cin>>s;
        long long gg=1;
        for(auto i :s)
        {
            if(i=='y')
            {
                gg=(gg*2);
            }
            else
            {
                gg=((gg*2)+1);
            }
        }
        cout<<gg-k+1<<endl;
    }
	return 0;
}

L1-072 刮刮彩票

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int a[4][4];
    int l1;
    int l2;
    unordered_map<int,int>vis;
    for(int i=1;i<4;i++)
        for(int j=1;j<4;j++)
        {
               cin>>a[i][j];
                if(a[i][j]==0){
                    l1=i;
                    l2=j;
                  
                }
               else  vis[a[i][j]]=1;
        }
    for(int i=1;i<=9;i++)
    {
        if(!vis.count(i))
        {
            a[l1][l2]=i;
            break;
        }
    }
    int x;
    int y;
    int cnt=3;
    while(cnt--)
    {
        cin>>x>>y;
        cout<<a[x][y]<<endl;
    }
    int ok;
    cin>>ok;
    unordered_map<int,int>res;
    res[1]=a[1][3]+a[1][1]+a[1][2];
    res[2]=a[2][3]+a[2][1]+a[2][2];
    res[3]=a[3][3]+a[3][1]+a[3][2];
    res[4]=a[3][1]+a[1][1]+a[2][1];
     res[5]=a[3][2]+a[1][2]+a[2][2];
     res[6]=a[3][3]+a[1][3]+a[2][3];
    res[7]=a[1][1]+a[2][2]+a[3][3];
    res[8]=a[1][3]+a[2][2]+a[3][1];
    /*6	10,000	16	72
    7	36	17	180
    8	720	18	119
    9	360	19	36
    10	80	20	306
    11	252	21	1,080
    12	108	22	144
    13	72	23	1,800
    14	54	24	3,600
    15	180*/
    unordered_map<int,int>ans;
 
        ans[6]=10000;
        ans[7]=36;
        ans[8]=720;
        ans[9]=360;
        ans[10]=80;
        ans[11]=252;
        ans[12]=108;
        ans[13]=72;
        ans[14]=54;
        ans[15]=180;
        ans[16]=72;
        ans[17]=180;
        ans[18]=119;
        ans[19]=36;
        ans[20]=306;
        ans[21]=1080;
        ans[22]=144;
        ans[23]=1800;
        ans[24]=3600;
    cout<<ans[res[ok]];
        
	return 0;
}

L1-073 人与神

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 	cout<<"To iterate is human, to recurse divine.";
	return 0;
}

L1-074 两小时学完C语言

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 int N,K,M;
    cin>>N>>K>>M;
    cout<<N-(K*M);
	return 0;
}

L1-075 强迫症

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
 	string s;
    cin>>s;
    int n=s.length();
    if(n==4)
    {
        string y=s.substr(0,2);
        int yy=atoi(y.data());
        if(yy<22)
        {
            s.replace(0,2,"20"+y+'-');
        }
        else
        {
            s.replace(0,2,"19"+y+'-');
        }
    }
    else
    {
        s.insert(4,"-");
        
    }
    cout<<s;
	return 0;
}

L1-076 降价提醒机器人

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
   int M,N;
    cin>>M>>N;
    double p;
    while(M--)
    {
        cin>>p;
        if(p<N)
        {
            cout<<"On Sale! ";
            printf("%.1f\n",p);
        }
    }
	return 0;
}

L1-077 大笨钟的心情

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int a[29];
    for(int i=0;i<24;i++)
        cin>>a[i];
    int n;
    while(1)
    {
        cin>>n;
        if(n>23||n<0)
            break;
        if(a[n]>50)
        {
            cout<<a[n]<<" "<<"Yes"<<endl;
        }
        else
        {
            cout<<a[n]<<" "<<"No"<<endl;
        }
     }
	return 0;
}

L1-078 吉老师的回归

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int M,K;
        cin>>M>>K;
    getchar();
    string s;
    int ok=0;
    int sum=0;
    while(M--)
    {
       getline(cin,s);
        if(ok==1)
        {
            cout<<s;
            break;
        }
        int k1=s.find("easy");
        int k2=s.find("qiandao");
        if(k1==-1&&k2==-1)//做了
        {
            sum++;
        }
        if(sum>K)
        {
            cout<<s<<endl;
            return 0;
        }
    }
    
    if(ok==0)
         cout<<"Wo AK le";
	return 0;
}

L1-079 天梯赛的善良

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int N;
    cin>>N;
    int num;
    int Min=INT_MAX;
    int Mins=0;
    int Maxs=0;
    int Max=INT_MIN;
    while(N--)
    {
        cin>>num;
        if(num==Max)
        {
            Maxs++;
        }
        if(num>Max)
        {
             Max=num;
            Maxs=1;
        }
         if(num==Min)
        {
            Mins++;
        }
        if(num<Min)
        {
             Min=num;
            Mins=1;
        }
       
    }
    cout<<Min<<" "<<Mins<<endl;
    cout<<Max<<" "<<Maxs;
	return 0;
   
}

L1-080 乘法口诀数列

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int a1,a2,N;
    cin>>a1>>a2>>N;
    vector<int>vis;
    vis.push_back(a1);
    vis.push_back(a2);
    int j=1;
    while(vis.size()<N)
    {
        int k=vis[j]*vis[j-1];
        if(k==0)
        {
            vis.push_back(0);
            j++;
            continue;
        }
        stack<int>ans;
        while(k>0)
        {
            ans.push(k%10);
            k/=10;
        }
        
        while(!ans.empty())
        {
            vis.push_back(ans.top());
            ans.pop();
        }
        j++;
    }
    for(int i=0;i<N-1;i++)
    {
        cout<<vis[i]<<" ";
    }
    cout<<vis[N-1];
	return 0;
}

L1-081 今天我要赢


L1-082 种钻石


L1-083 谁能进图书馆

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,e1,e2;
    cin>>a>>b>>e1>>e2;
    int j1 = e1<a;
    int j2 = e2<a;
    int j3 = e1<b;
    int j4 = e2<b;
   
    
        if(j1&&!j4)
        {
             printf("%d-Y %d-Y",e1,e2);
             cout<<"\n";
            printf("qing %d zhao gu hao %d",2,1);
        }
    
        if(j2&&!j3)
        {
             printf("%d-Y %d-Y",e1,e2);
             cout<<"\n";
            printf("qing %d zhao gu hao %d",1,2);
    
        }
    
        if(!j1&&!j2)
        {
              printf("%d-Y %d-Y",e1,e2);
            cout<<"\n";
              printf("huan ying ru guan");
    
        }
        //2个人都进不了
        if(j1&&j2)
        {
            printf("%d-N %d-N",e1,e2);
            cout<<"\n";
              printf("zhang da zai lai ba");
    
            
        }
    
        if(j1&&!j2&&j4)
        {
             printf("%d-N %d-Y",e1,e2);
            cout<<"\n";
              printf("2: huan ying ru guan");
        }
    
        if(j2&&!j1&&j3)
        {
             printf("%d-Y %d-N",e1,e2);
            cout<<"\n";
             printf("1: huan ying ru guan");
        }
  
       
        
   
    return 0;
}

L1-084 拯救外星人

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll n1,n2;
    cin>>n1>>n2;
    ll res=1;
    for(ll i=1;i<=n1+n2;i++)
        res*=i;
    cout<<res;
    return 0;
}

L1-085 试试手气

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    int a[6];
        map<int,int>vis[10];
    for(int i=0;i<6;i++)
    {
        cin>>a[i];
        vis[i][a[i]]=1;
    }
    int n;
    cin>>n;

    while(n--)
    {
        for(int i=0;i<6;i++)
        {
            for(int j=6;j>=1;j--)
            {               
                    if(!vis[i][j])
                    {
                        //第n次
                        
                        if(n==0)
                        {
                              cout<<j;
                         if(i!=5)
                             cout<<" ";
                        }
                            
                       
                        vis[i][j]=1;
                        break;
                    }           
               
            }
            
        }
       
    }
    
    
    return 0;
}

L1-086 斯德哥尔摩火车上的题

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
string fun(string s)
{
    string res;
    for(int i=1;i<s.length();i++)
    {
        if((s[i]-'0')%2==(s[i-1]-0)%2)
            res+=max(s[i],s[i-1]);
    }
    return res;
}
int main()
{
   string s1,s2;
    cin>>s1>>s2;
    if(fun(s1)==fun(s2))
        cout<<fun(s1);
    else
    {
        cout<<fun(s1)<<endl;
         cout<<fun(s2);
    }
    return 0;
}

L1-087 机工士姆斯塔迪奥

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

int main()
{
    ll n,m,q;
    cin>>n>>m>>q;
    ll res = n*m;
    set<int>h;
    set<int>l;
    int a,b;
    while(q--)
    {
        cin>>a>>b;
        if(a)
        {
            l.insert(b);
        }
        else
        {
            h.insert(b);
        }
    }
    
    cout<<res - (l.size()*n+h.size()*m) + l.size()*h.size();
    return 0;
}

L1-088 静静的推荐

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;  
int ans[10000]; //每个分段小于ptaS的人数
int ans2[10000]; //每个分段pta超过等于S的人数

int main()
{
    int n,k,s;
    cin>>n>>k>>s;
    
    for(int i=0;i<n;i++)
    {
        int a,b;
        cin>>a>>b;
        if(a<175)
            continue;
        
        if(b>=s)
            ans2[a]++;
        else
            ans[a]++;
        
    }
    int res=0;
    //k批次
    for(int i=290;i>=0;i--)
    {
        int kk=k;
        //处理第一批,
        if(ans2[i]!=0)
        {
            
            res = res + ans2[i];
            
            //如果没有分数低的人
            if(ans[i]==0)
                kk--;
        } 
     
        
        if(ans[i]!=0)
        {
            //如果人数超出最大人数
            if(ans[i]>=kk)
            {
                res = res + kk;
            }
            else
            {
                res = res + ans[i];
            }
        }
    }
    cout<< res;
    //从高到低分段选
    
    return 0;
}

L1-089 最好的文档

L1-090 什么是机器学习

L1-091 程序员买包子

L1-092 进化论

L1-093 猜帽子游戏

L1-094 剪切粘贴

L1-095 分寝室

L1-096 谁管谁叫爹

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值