洛谷P8825

[传智杯 #3 初赛] 运气 - 洛谷

[传智杯 #3 初赛] 运气

题目背景

YYH Land(Yoauld,Youthful & Happy Land) 是位于炽蓝仙野的一片神奇的国度,那里的人们过着无拘无束的的快乐生活。

题目描述

哈兰·斯威提是 YYH Land 远近闻名的注铅骰子爱好者。有一天他碰到了这么一个问题:

你有一枚 6个面的骰子,分别写了 1,2,3,4,5,6 ,每一面朝上的概率是均等的。

现在哈兰想知道,如果他投掷 n次,并且将结果按顺序写在纸上成为一个数。(比如说如果哈兰扔了 3 次,分别是 3,2,5 ,那么他最后得到的数就是 325)他现在想知道这个数是 k 的倍数的可能情况有多少种,其中 k是一个特定的数。

由于这个方案数可能会很大,所以请你输出结果对 10^9+7 取模的结果。

输入格式

一行两个整数 n,k ,意义如题所示。

输出格式

一行一个整数,表示答案。

样例 #1

样例输入

2 11

样例输出

6

提示

**样例解释**

在投掷两次骰子总共 36 种可能中,只有 ("11","22","33","44","55","66") $ 是符合条件的。所以答案是 6。

**数据规模与约定**

对于 40\% 的数据,满足 n分别为 1,2,3,4;

对于另外 30\% 的数据,满足 1 <= k <= 3;

对于 100% 的数据,满足 1 <= n<= 10, 1 <= k<= 1000;

代码区:

cs 复制代码
#include<stdio.h>
int n,k;
long long ans=0;
void dfs(int stemp,long int sum){
	if(stemp==n){  达到投掷的次数
		if(sum%k==0){
			ans++;
		}
		return ;
	}
	int i;
	for(int i=1;i<=6;i++){
		dfs(stemp+1,sum*10+i);
	}
}
int main(){
	scanf("%d%d",&n,&k);
	dfs(0,0);
	printf("%lld",ans);

	return 0;
}

欢迎各位读者提出意见。

(菜菜洛谷奋斗小日记)

相关推荐
<但凡.10 分钟前
题海拾贝:力扣 138.随机链表的复制
数据结构·算法·leetcode
T.Ree.35 分钟前
C语言_自定义类型(结构体,枚举,联合)
c语言·开发语言
田梓燊41 分钟前
图论 八字码
c++·算法·图论
Tanecious.1 小时前
C语言--数据在内存中的存储
c语言·开发语言·算法
Bran_Liu2 小时前
【LeetCode 刷题】栈与队列-队列的应用
数据结构·python·算法·leetcode
kcarly2 小时前
知识图谱都有哪些常见算法
人工智能·算法·知识图谱
CM莫问3 小时前
<论文>用于大语言模型去偏的因果奖励机制
人工智能·深度学习·算法·语言模型·自然语言处理
程序猿零零漆3 小时前
《从入门到精通:蓝桥杯编程大赛知识点全攻略》(五)-数的三次方根、机器人跳跃问题、四平方和
java·算法·蓝桥杯
MSTcheng.3 小时前
C语言操作符(上)
c语言·开发语言
无限码力3 小时前
路灯照明问题
数据结构·算法·华为od·职场和发展·华为ode卷