QFNU-ACM 2020.11.6 Trating

Posted a-specter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QFNU-ACM 2020.11.6 Trating相关的知识,希望对你有一定的参考价值。

A

输入,第i个人把礼物给了谁,输出,第i个人的礼物是谁给的

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define ture true
int main() {

    int n,flag=0,a[200],b,i;
    cin>>n;
    for(i=1;i<=n;i++){
        cin>>b;
        a[b]=i;
    }
    for(i=1;i<=n;i++){
        if(i==1){
            cout<<a[i];

        }else{
            cout<<" "<<a[i];
        }
    }

    return 0;
}

B

给出两个十进制数啊a,c,分别转换成三进制,c-a,不考虑借位,从各位逐一相减,最后将结果转换为十进制

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define ture true
int main()
{
    ll a,b,c,i=0,j=0,mod=1;

    cin>>a>>c;
    int a1[100]={0},c1[100]={0},b1[100];
    while(a){
        a1[i]=a%3;
        a=a/3;
        i++;
    }
    while(c){
        c1[j]=c%3;
        c=c/3;
        j++;
    }
    for(int k=0;k<max(i,j);k++){
        b1[k]=(c1[k]+3-a1[k])%3;
    }
    int sum=0;
    for(int k=0;k<max(i,j);k++){
        sum+=b1[k]*mod;
        mod*=3;
    }
    cout<<sum<<endl;
    return 0;
}

C

将所给序列排序,如果序列最大的为1,将最后一个1 变成2,

否则,将最大的变成1;

#includeJI<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define ture true
int a[100010];
int main()
{

    int n,i;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>a[i];
    }
    int flag=0;
    sort(a,a+n);

    if(a[n-1]!=1){
        cout<<1;
    }else{
        flag=2;
    }

    for(i=0;i<n-1;i++){
        if(flag==2&&i==0){
            cout<<a[i];
        }else{
            cout<<" "<<a[i];
        }

    }
    if(flag==2){
        cout<<" "<<flag;
    }
    return 0;
}

D

 给定一个字符串,"A", "O", "Y", "E", "U", "I"(包括小写)不输出,其他字母大写变成小写,小写不变,每个字母前插入一个‘.’输出

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define ture true
int main()
{

    string s;
    cin>>s;
    int len=s.length();
    for(int i=0; i<len; i++)
    {
        if(s[i]==a||s[i]==e||s[i]==i||s[i]==o||s[i]==u||s[i]==y||
                s[i]==A||s[i]==E||s[i]==I||s[i]==O||s[i]==U||s[i]==Y)
        {

        }
        else if(s[i]>=A&&s[i]<=Z)
        {
            cout<<.<<char(s[i]-A+a);
        }
        else
        {
            cout<<.<<s[i];
        }
    }
    return 0;
}

E

按照这个格式输出

Input

3(范围2~9,好像可以直接打表?)

Output

      0
    0 1 0
  0 1 2 1 0
0 1 2 3 2 1 0
  0 1 2 1 0
    0 1 0
      0

#include<bits/stdc++.h>//写的好麻烦啊QWQ
using namespace std;
typedef long long ll;
#define ture true
int main()
{

    int n,i,j;
    cin>>n;
    for(i=0;i<n*2+1;i++){
        for(j=0;j<n*2+1;j++){
            if(j==0){
                if(i==n){
                    cout<<"0";
                }else
                {
                    cout<<" ";
                }
            }
            else
            {
                if(j>=n-i&&i<=n)
                {
                    if(i<n)
                    {
                        for(int k=0; k<i%(n+1); k++)
                        {
                            cout<<" "<<k;
                        }
                        for(int k=i%(n+1); k>=0; k--)
                        {
                            cout<<" "<<k;
                        }
                    }
                    else if(i==n)
                    {
                         for(int k=1; k<i%(n+1); k++)
                        {
                            cout<<" "<<k;
                        }
                        for(int k=i%(n+1); k>=0; k--)
                        {
                            cout<<" "<<k;
                        }

                    }
                    break;

                }
                else if(i>n&&j>=i%(n+1)+1)
                {
                    for(int k=0; k<n-i%(n+1)-1; k++)
                    {
                        cout<<" "<<k;
                    }
                    for(int k=n-i%(n+1)-1; k>=0; k--)
                    {
                        cout<<" "<<k;
                    }
                    break;

                }
                else
                {
                    cout<<"  ";
                }

            }
        }
        cout<<endl;
    }
    return 0;
}

 













以上是关于QFNU-ACM 2020.11.6 Trating的主要内容,如果未能解决你的问题,请参考以下文章

QFNU-ACM 2020.10.23 Trating

QFNU-ACM 2020.4.5 个人赛

QFNU-ACM 2020.04.05个人赛补题

2020.11.6 Rating 补题报告