关注
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
string str;
str = Console.ReadLine();
string[] ss = str.Split(' ');
int n = int.Parse(ss[0]);
int x = int.Parse(ss[1]);
List<List<int>> result = new List<List<int>>();
Dictionary<int, int> state = new Dictionary<int, int>();
GetAllPossible(n, n, x, ref state, ref result);
int possibles = 0;
int all = Convert.ToInt32(Math.Pow(6, n));
for (int i = 0; i < result.Count; i++)
{
int sum = 0;
result[i].ForEach(t =>
{
//Console.Write($"{t} ");
sum += t;
});
//Console.WriteLine($"sum={sum}");
if (sum > x)
{
possibles++;
}
}
int g = GCD(all, possibles);
Console.WriteLine($"{possibles / g}/{all / g}");
Console.ReadKey();
}
static int GCD(int a, int b)
{
int i;
for (i = a; i > 0; i--)
{
if ((a % i == 0) && (b % i == 0)) break;
}
return i;
}
static void GetAllPossible(int n, int k, int x, ref Dictionary<int, int> state, ref List<List<int>> result)
{
k--;
//n为骰子数量
//k为当前骰子序号
//i为当前骰子点数
if (k >= 0)
{
for (int i = 1; i <= 6; i++)
{
state[k] = i;
//Console.WriteLine($"第{n + 1}个骰子点数:{i}");
//Console.WriteLine($"state[{k}]={state[k]}");
if (k == 0)//结束一次深入
{
List<int> r = new List<int>();
for (int j = 0; j < n; j++)
{
r.Add(state[j]);
}
result.Add(r);
}
GetAllPossible(n, k, x, ref state, ref result);
}
}
}
}
第3题时间过了才完成,不知道对不对。。
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
26364次浏览 327人参与
# 一份好的简历长什么样? #
23201次浏览 423人参与
# 材料专业就业可以去哪些企业岗位 #
55039次浏览 376人参与
# 为了减少AI幻觉,你注入过哪些设定? #
8134次浏览 220人参与
# 在大厂上班是一种什么样的体验 #
15915次浏览 225人参与
# 机械人避雷的岗位/公司 #
45088次浏览 320人参与
# 你的mentor是什么样的人? #
51731次浏览 741人参与
# 论秋招对个人心气的改变 #
16908次浏览 254人参与
# 牛客AI体验站 #
9904次浏览 234人参与
# 我和mentor的爱恨情仇 #
106843次浏览 969人参与
# 程序员找工作至少要刷多少题? #
25153次浏览 317人参与
# 本周投递记录 #
842426次浏览 12226人参与
# 晒晒你司的新年福利 #
10722次浏览 191人参与
# 制造业的秋招小结 #
142309次浏览 2086人参与
# 应届生进小公司有什么影响吗 #
119083次浏览 1162人参与
# AI Coding的使用心得 #
6761次浏览 142人参与
# 一张图晒一下你的AI员工 #
6929次浏览 153人参与
# 我现在比当时_,你想录用我吗 #
10683次浏览 160人参与
# 通信/硬件求职避坑tips #
140072次浏览 1087人参与
# 秋招想进国企该如何准备 #
125563次浏览 617人参与
查看11道真题和解析