洛谷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;
}

欢迎各位读者提出意见。

(菜菜洛谷奋斗小日记)

相关推荐
怕浪猫7 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
yyy(十一月限定版)7 小时前
224redfg
c语言
无线通信科研笔记8 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
mmmmath_38 小时前
二叉树の递归遍历
算法
All for pursuit.9 小时前
【位运算-1】338.比特位计数
数据结构·c++·算法·leetcode
小师兄吃牛肉9 小时前
C语言中的nullptr有必要吗
c语言·c++·算法
lhbweilai11 小时前
深挖FreeRTOS内核实现(三)
c语言·stm32·单片机
一只小小的芙厨11 小时前
【线性DP】
学习·算法·动态规划
xxwl58511 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
奋发向前wcx11 小时前
CSP-J复赛模拟赛5 王晨旭补题 2026.10.5
算法