标签:gcd int 好好学习 ++ dfs vis include
汤姆跟爷爷来中国旅游。一天,他帮助中国的小朋友贴标语。他负责贴的标语是分别写在四块红纸上的四个大字:“好、好、学、习”。但是汤姆不认识汉字,他就想胡乱地贴成一行。
请你替小汤姆算一下,他这样乱贴,恰好贴对的概率是多少?
答案是一个分数,请表示为两个整数比值的形式。例如: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); }
标签:gcd,int,好好学习,++,dfs,vis,include 来源: https://www.cnblogs.com/8023spz/p/10394871.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。