2020.11.6-vj补题

A - A

 CodeForces - 136A 

题解:按输入的顺序输出对应的下标即可,定义一个数组,将输入的作为下标,下标为值,最后依次输出即可;

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int s[n+5],i,a;
    for(i=1;i<=n;i++)
    {
        cin>>a;
        s[a]=i;
    }
    for(i=1;i<=n;i++)
    {
        if(i==1)cout<<s[i];
        else cout<<" "<<s[i];
    }
    cout<<endl;
}

 

C - C

 CodeForces - 136C 

题解:先将数组排序,如果最大值不为1,则将其设为1,否则设为2,在进行一次排序,输出即可

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long n;
    cin>>n;
    long long s[n+5],i;
    for(i=0;i<n;i++)
    {
        scanf("%lld",&s[i]);
    }
    sort(s,s+n);
    if(s[n-1]!=1)s[n-1]=1;
    else s[n-1]=2;
    sort(s,s+n);
    for(i=0;i<n;i++)
    {
        if(i==0)printf("%lld",s[i]);
        else printf(" %lld",s[i]);
    }
    cout<<endl;
}

D - D

 CodeForces - 118A 

题解:先将字符串中所有字符转换为小写字母,再在遍历时将元音赋值为 ‘0’,输出时不为‘0’的就直接输出“.”+字母即可

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
    int n;
    n=s.size();
    for(int i=0;i<n;i++)
    {
        if(s[i]>='A'&&s[i]<='Z')s[i]+=32;
        if(s[i]=='a'||s[i]=='o'||s[i]=='e'||s[i]=='y'||s[i]=='u'||s[i]=='i')s[i]='0';

    }
    for(int i=0;i<n;i++)
    {
        if(s[i]!='0')cout<<"."<<s[i];
    }
    cout<<endl;
}

E - E

 CodeForces - 118B 
题解:先输出上半部分(n+1)行,第一行空格为n*2个,随后每行空格数减一,每行从0还是输出直到该行数i-1为止,在从i-1输出到0换行,同理输出
下半部分先根据上半部分计算出下半部分第一行的空格数输出,然后每行空格数加2,依照上半部分同理输出即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int m=n;
    int w;
    for(int i=1;i<=n+1;i++)
    {
        for(int j=0;j<m*2;j++)cout<<" ";
        m-=1;
        for( w=0;w<i;w++)
        {
            if(w==0)cout<<w;
            else cout<<" "<<w;
        }
        if(w==0)cout<<endl;
        else
        {
            for(int q=w-2;q>=0;q--)
            {
                if(q==w-1)cout<<q;
                else cout<<" "<<q;
            }
            cout<<endl;
        }
    }
    //cout<<m<<endl;

    m+=2;
    for(int i=n;i>=1;i--)
    {
        for(int j=0;j<=m;j++)cout<<" ";
        m+=2;
        for(w=0;w<=i-1;w++)
        {
             if(w==0)cout<<w;
            else cout<<" "<<w;
        }
         if(w==0)cout<<endl;
         else
         {
             for(int q=w-2;q>=0;q--)
            {
                if(q==w-1)cout<<q;
                else cout<<" "<<q;
            }
            cout<<endl;
         }
    }
}

B - B

 CodeForces - 136B 

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
      long a,c,ct=0,i=0;
      scanf("%ld%ld",&a,&c);
     while(a!=0 || c!=0)
     {
          ct+=(c%3-a%3+3)%3*pow(3,i);//**/
          a/=3;
          c/=3;
          i++;
     }
     printf("%ld\n",ct);
     return 0;
}

 




posted @ 2020-11-15 19:34  西瓜0  阅读(113)  评论(0)    收藏  举报