问题标题: 酷町堂:3892

0
0
已解决
王泽宇
王泽宇
初级光能
初级光能
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<string>
#include<cmath>
#include<ctime>
#include<iomanip>
using namespace std;  
int a[3],b[3]; 
int main(){
    int cnt=1,sum=0,a1=0,a2=0,a3=0;
    cin>>a[0]>>a[1]>>a[2]>>b[0]>>b[1]>>b[2];
    while(1){
        sum=0;
        if((a1!=a2&&a1!=a3&&a2!=a3)){
            if(a1+1==a[0]||a1+1==a[1]||a1+1==a[1]) sum++;
            if(a2+1==a[0]||a2+1==a[1]||a2+1==a[2]) sum++;
            if(a3+1==a[0]||a3+1==a[1]||a3+1==a[2]) sum++;
        }
        else if(abs(a[0]-a[1])==0||abs(a[0]-a[1])==1||abs(a[1]-a[2])==0||abs(a[1]-a[2])==1||abs(a[0]-a[2])==0||abs(a[0]-a[2])==1){
            if(a1+1==a[0]||a1+1==a[1]||a1+1==a[1]) sum++;
            if(a2+1==a[0]||a2+1==a[1]||a2+1==a[2]) sum++;
            if(a3+1==a[0]||a3+1==a[1]||a3+1==a[2]) sum++;
        }
        cout<<a1<<a2<<a3<<endl;
        if(sum==2){
            cout<<cnt;
            return 0;
        }
        a1=(a1+1)%b[0];
        a2=(a2+1)%b[1];
        a3=(a3+1)%b[2];
        cnt++;
    }
    return 0;
}

 

3892   抽奖游戏

题目描述 Description

酷町猫为了表扬学生们积极回答问题,决定给孩子们玩一次抽奖游戏,以获得酷町币。游戏规则如下:

有红黄蓝3种球,每次抽出各种颜色的球各一个共3个。如果3个球的编号和酷町猫手里的球的编号全部一样,那么获得一等奖,如果有2个一样,那么获得二等奖,如果1个一样,那么获得三等奖,否则不获奖。注意:比较球的编号时,不区分颜色。

抽球过程由电脑来完成,电脑按照如下规律:每种颜色的球的号码都呈周期性规律,比如红球的周期为5,那么红球号码出现的规律是1,2,3,4,5,1,2,3,4,5,…;黄色球的周期为3,那么黄球号码出现的规律是1,2,3,1,2,3,… ,问最少抽几次能够抽到二等奖。

第一次抽奖的时候,得到的各个球的编号都是1,之后每颗球按照各自周期变化。数据保证能抽到二等奖。

输入描述 Input Description

第一行,3个整数,表示酷町猫手中的3个球的编号(编号范围在1到10)
第二行,3个整数,表示红黄蓝3个球的出现周期,都是大于等于酷町猫手中各球的编号的

输出描述 Output Description

一行,1个整数,表示获得二等奖至少需要抽多少次。

样例输入 Sample Input

3 1 4 3 5 4

样例输出 Sample Output

6

数据范围及提示 Data Size & Hint

【样例解释】

三颗球的周期分别为3,5,4,那么球的出现规律如下:

第一颗球:1 2 3 1 2 3 1 2 3 1 2 3 …

第二颗球:1 2 3 4 5 1 2 3 4 5 1 2 …

第三颗球:1 2 3 4 1 2 3 4 1 2 3 4 …

此时酷町猫手中的球的编号是3 1 4,那么在第6次抽球的时候可以得到3 1 2,有两个球的编号和酷町猫手中的编号一致,此时第一次得到二等奖。所以最后应该输出6。

试验错误

不敢提交

大佬们,40豆豆哦

 


0
0
0
我要回答