codeforces round #760 (div. 3)AB题

题意:给7个从小到大的数,是由x,y,z,x+y,x+z,y+z,x+y+z组成的,求出x,y,z;

思路:由于是从小到大给的序列,所以第一个数就是三个数当中最小的,假设序列从大到小依次为a[0]-a[6];所以x就是a[6],而第三大的数就是a[2]就是x+y,所以y就等于a[2]-a[6],就差一个z不知道,但是知道三个数的和以及x,y的和,所以a[0]-a[2]就是z的值

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--){
        int a[7];
        for(int i=6;i>=0;i--){
            cin>>a[i];
        }
        cout<<a[6]<<" "<<a[2]-a[6]<<" "<<a[0]-a[2]<<endl;
    }
    return 0;
}

题意:有一个字符串仅有ab组成,先输入该字符串的长度,然后给定长度为2的子串,子串的长度固定为2,给length-2个这样的子串,而字符串本身有length-1个这样的子串,有一个没给,让我们来判断这个字符串可能是什么样子的。

思路:一共有三种情况

第一种:当输入的是aa或者bb的时候判断一下s的最后一个字母是不是跟当前输入的字母一样,如果一样的话就比如s=ab(当前的字符串),ss(输入的子串)=bb,这个时候就加一个b,s变成abb;

第二种:当输入的两个字母不一样,但是当前字符串的最后一个字符等于输入的第一个字符,就加输入子串的第二个字符,s=abb,ss=ba;s变成abba;

第三种:当输入的两个字母不一样,并且当前字符串的最后一个字符不等于输入的第一个字符,就直接拼接,s=abb,ss=ab;s变成abbab;

最后判断字符串s的长度是否符合要求,如果不符合的话在字符串的末尾继续补最后一个字母,最后一个字母是a就补a,是b就补b;

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    while(n--){
        string s,ss;
        int t;
        cin>>t;
        for(int i=0;i<t-2;i++){
            cin>>ss;
            if(ss[0]==ss[1]&&ss[0]==s[s.length()-1]) s+=ss[0];
            else{
                if(ss[0]==s[s.length()-1])
                    s+=ss[1];
                else
                    s+=ss;
            }
        }
        char temp=s[s.length()-1];
        for(int i=s.length();i<t;i++)
            s+=temp;
        cout<<s<<endl;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值