码迷,mamicode.com
首页 > 其他好文 > 详细

好好学习

时间:2019-02-18 12:56:11      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:文字   通过   ret   input   val   false   gcd   efi   小朋友   

汤姆跟爷爷来中国旅游。一天,他帮助中国的小朋友贴标语。他负责贴的标语是分别写在四块红纸上的四个大字:“好、好、学、习”。但是汤姆不认识汉字,他就想胡乱地贴成一行。

请你替小汤姆算一下,他这样乱贴,恰好贴对的概率是多少?

答案是一个分数,请表示为两个整数比值的形式。例如:1/3 或 2/15 等。

如果能够约分,请输出约分后的结果。

注意:不要书写多余的空格。


请严格按照格式,通过浏览器提交答案。
注意:只提交这个比值,不要写其它附加内容,比如:说明性的文字。

答案 (10分)

 

代码:

#include <iostream>
#include <cstdio>
#include <map>
#include <cstring>
#include <vector>
#include <algorithm>
#define inf 0x3f3f3f3f
#define mod 999101
using namespace std;

int mp[4] = {1,1,2,3};
bool vis[4];
int m,c;
void dfs(int k,int sum) {
    if(k >= 4) {
        if(sum == 1123) c ++;
        m ++;
        return;
    }
    for(int i = 0;i < 4;i ++) {
        if(!vis[i]) {
            vis[i] = true;
            dfs(k + 1,sum * 10 + mp[i]);
            vis[i] = false;
        }
    }
}
int gcd(int a,int b) {
    return b == 0 ? a : gcd(b,a % b);
}
int main() {
    dfs(0,0);
    int g = gcd(c,m);
    printf("%d/%d",c / g,m / g);
}

 

好好学习

标签:文字   通过   ret   input   val   false   gcd   efi   小朋友   

原文地址:https://www.cnblogs.com/8023spz/p/10394871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!