周末小结(4)

M题
圣诞节就快要到来了,为了班里的圣诞晚会,同学们都在准备各自的节目,学姐们个个心灵手巧,将教室装扮地充满了节日气氛。学长们呢,打算采购一条彩灯树,让教室的天花板也亮起来。
一共有四个学长,分别是:zzf,lyx,lmh和ry。他们各自买的灯型号不同:
zzf买的灯可以发出红、黄 22 种颜色的光;
lyx买的灯可以发出红、黄、蓝 33 种颜色的光;
lmh买的灯可以发出红、黄、绿、蓝 44 种颜色的光;
ry买的灯可以发出红、橙、黄、绿、蓝、靛、紫 77 种颜色的光。
已知每个灯泡要么不亮,亮的时候就 随机 发出一种它所能发出的光。 \sout{(我也不知道是什么原理…)}
(我也不知道是什么原理…)
他们一共买了 NN 层灯泡。每层的个数为层数的 平方 ,NN 层灯泡的下标为 11 到 NN,按照zzf的灯,lyx的灯,lhm的灯,ry的灯的顺序串联,即前五层每层灯颜色种类的顺序为 2、3、4、7、22、3、4、7、2 ,以此类推。在这里插入图片描述
输入
输入 NN 、 MM ,代表有 NN 个灯泡, MM 个开关;
接下来 MM 行,每行给出两个整数 ll 和 rr 。

1 \leq N \leq 10^41≤N≤10
4

1 \leq M \leq 10^41≤M≤10
4

1 \leq l_i \leq r_i \leq N1≤l
i

≤r
i

≤N

输出
输出一行,两个整数,表示亮着的灯的个数和颜色种数。

样例
输入复制
6 3
1 1
2 6
3 6
输出复制
5 162

//压轴的看不太懂。。。。有大哥写出来可以分享下。。

N题
描述
桌子上放的有nn张牌,每一张牌都不一样,从11到nn。起初牌按照给定的顺序排列。然后我们按照下面规定的方式进行洗牌。在每次操作中,我们会抽出一张牌,把它放到最前面的位置,然后重复此操作mm次。请输出这nn张牌在经过mm次操作后的顺序。

输入
第一行包括两个正整数 nn和mm。1 \leq n,m \leq 1001≤n,m≤100

第二行包含nn个数,表示nn张牌起始的排列顺序。

接下来有mm行,每一行有一个正整数s_is
i

,表示第ii次操作移动的牌的点数。

输出
输出这nn张牌在经过mm次操作后的顺序。

样例
输入复制
5 2
1 2 3 4 5
3
4
输出复制
4 3 1 2 5

//简单题但没提交上去不知道为什么。。。
#include<iostream>
using namespace std;
int a1[101],a2[101];
int main()
{
    
    
    int x,y;
    cin>>x>>y;
    for(int i=0;i<x;i++)
    {
    
    
        cin>>a1[i];
    }
    for(int i=0;i<y;i++)
    {
    
    
        cin>>a2[i];
    }
    for(int i=0;i<y;i++)
    {
    
    
        for(int ii=0;ii<x;ii++)
        {
    
    
            if(a2[i]==a1[ii])
            {
    
    
                int r=a1[0],d;
                a1[0]=a1[ii];
                for(int iii=1;iii<=ii;iii++)
                {
    
    
                    d=a1[iii];
                    a1[iii]=r;
                    r=d;
                }
                //a1[0]=a2[i];
                break;
            }
        }
    }
    for(int i=0;i<x;i++)
    {
    
    
        cout<<a1[i]<<" ";
    }
    cout<<endl;
    return 0;
}

在这里插入图片描述
不能理解原因。。。
O. zbw的情书2.0
描述
zbw学长喜欢ybw学长很久了,但是他不好意思直接说,于是写了一封情书,ybw学长收到情书后十分纠结,不知道要不要接受这份爱,于是他请聪明的你来判断一下情书到底是不是真情实意。
若情书中出现“I love you”的次数大于“I love him”的次数,则是真情实意。

输入
一段情书,情书长度 0\leq s \leq 1000000≤s≤100000

输出
若情书是真情实意,则输出“wo yao jia gei ta”
若情书是虚情假意,则输出“zha nan gun”

样例
输入复制
I love youI love you I love you marry me please,I love him.
输出复制
wo yao jia gei ta

//这里直接用字符串然后一个一个查找就好了
nclude<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
int sum1=0,sum2=0;
int main()
{
    
    
    char c1,c2;
    char str[100001];
    string str1=" love ";
    string str2="you";
    string str3="him";
    cin.getline(str,100001);
    for(int i=0;i<strlen(str);i++)
    {
    
    
        string str4;
        if(str[i]=='I')
        {
    
    
            i++;
            while(str[i]!='I')
            {
    
    
                str4+=str[i];
                if(str4.size()==9)
                break;
                i++;
            }
            if(str4.size()!=9)
            {
    
    
                i--;
            }
            else
            {
    
    
                if(str4==str1+str2)
                sum1++;
                if(str4==str1+str3)
                sum2++;
                //cout<<sum1<<sum2<<endl;
            }
        }
    }
    if(sum1>sum2)
    cout<<"wo yao jia gei ta"<<endl;
    else cout<<"zha nan gun"<<endl;
    return 0;
}

这一周就这样过去了
写了大概有十个小时水平挺低的。。。
周六的省赛学长参加只做对了一个签到题
希望我中途不会放弃在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51136634/article/details/109964929