CF78B Easter Eggs 题解


以下题解仅供学习参考使用。

抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在洛谷是严格禁止的。

洛谷非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看洛谷社区规则

评论

  • 还没有评论
作者: lixiao189 更新时间: 2018-05-24 12:05  在Ta的博客查看 举报    1  

一道大力猜结论的题目

思路:

为了方便解释我用1~7表示7种颜色 我们可以发现如果我们再这个序列中开始如果开头四种颜色为1、2 、3、4。结尾处的颜色为5、 6 、7。最后中间按需要循环输出1 2 3 4就可以解决这个问题

代码:

#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

int n;
char colour[8]={' ','R','O','Y','G','B','I','V'};

int main(){

    //freopen ("input.in","r",stdin);

    scanf ("%d",&n);
    for (int i=1;i<=4;i++){
        printf("%c", colour[i]);
    }

    n-=7;
    for (int i=1;i<=n;i++){
        if (i%4==1){
            printf("R");
        }
        if (i%4==2){
            printf("O");
        }
        if (i%4==3){
            printf("Y");
        }
        if (i%4==0){
            printf("G");
        }
    }

    printf ("BIV\n");

    return 0;

}

评论

  • 还没有评论
作者: 缘,为何物? 更新时间: 2019-05-03 14:37  在Ta的博客查看 举报    0  

这道题.....

不说,先读题,记住不管在什么时候,读题第一!

复活节兔子把n个蛋围成了一个圆圈。她打算给它们上色。
每一个蛋都要被涂上红橙黄绿蓝靛紫七色中的一个颜色,并满足如下条件:
1、每一种颜色都必须用上
2、任何四个相连的蛋都要涂上不同的颜色。
帮助复活节兔子涂上颜色,当然,这肯定是有解的!
输入:
一行:n(7<=n<=100)
输出:
一行:用下列字符表示所涂上的颜色:R(红red),O(橙orange),Y(黄:yellow),G(绿green),B(蓝blue),I(靛indigo),V(紫violet)
注意:如果存在多个答案,输出其中一种即可

大意就是

有n个数,每个数都要表上号1~7中的一个,每4个数不能重复,七个号都要有~~~

我的思考

貌似只要我前面不停的输出"RYOG"最后一次输出"BIV"就可以了~~~

循环

for(int i=1;i<=n;i++){
        if(i%4==1){printf("R");}
        if(i%4==2){printf("Y");}
        if(i%4==3){printf("O");}
        if(i%4==0){printf("G");}
    }
但是这样交上去在第2个就会WA

仔细思考,发现是我的顺序不对真正的顺序是 "ROYG" 在最后输出 "BIV"

代码

#include<bits/stdc++.h>
#define I int
#define L long long
#define C char
#define S string
#define B bool
#define Max 100000009
#define Mid 1000009
#define Sml 10009
#define Lit 109
using namespace std;
inline I read(){
    char c=getchar();
    I x=0;
    B f=0;
    while(!isdigit(c))f^=!(c^45),c=getchar();
    while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar();
    if(f)x=-x;return x;
}
int n;
char colour[8]={' ','R','O','Y','G','B','I','V'};
int main(){
    n=read();
    for(int i=1;i<=4;i++){
        printf("%c",colour[i]);
    }
    return 0;
    n-=7;
    for(int i=1;i<=n;i++){
        if(i%4==1){printf("R");}
        if(i%4==2){printf("O");}
        if(i%4==3){printf("Y");}
        if(i%4==0){printf("G");}
    }
    puts("BIV");
    return 0;
}

还是WA这次实在第一个点 反思ing

#include<bits/stdc++.h>
#define I int
#define L long long
#define C char
#define S string
#define B bool
#define Max 100000009
#define Mid 1000009
#define Sml 10009
#define Lit 109
using namespace std;
inline I read(){
    char c=getchar();
    I x=0;
    B f=0;
    while(!isdigit(c))f^=!(c^45),c=getchar();
    while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar();
    if(f)x=-x;return x;
}
int n;
char colour[8]={' ','R','O','Y','G','B','I','V'};
int main(){
    n=read();
    for(int i=1;i<=4;i++){
        printf("%c",colour[i]);
    }
    return 0;
    n-=7;
    for(int i=1;i<=n;i++){
        if(i%4==1){printf("R");}
        if(i%4==2){printf("O");}
        if(i%4==3){printf("Y");}
        if(i%4==0){printf("G");}
    }
    puts("BIV");
    return 0;
}

看我这么口爱,不点个赞再走?

反馈
如果你认为某个题解有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。