题目描述

立方体有 6 个面,每个面上有一只奶牛,每只奶牛都有一些干草。为了训练奶牛的合作精神,它

们在玩一个游戏,每轮:所有奶牛将自己的干草分成 4 等份,分给相邻的 4 个面上的奶牛。

游戏开始,给定每个面上奶牛的干草数量,k 轮游戏后,请问奶牛 Shary 拥有的干草数量是多

少? 奶牛在立方体上编号次序是:前、后、上、下、左、右,奶牛 Shary 在立方体的上面。

如果答案是整数,直接输出;答案可能是分数,用最简分式表示,格式为 X/Y。

例如:一开始 6 个奶牛的干草数量是:0,0,4,0,0,0。Shary 开始有干草数量是 4,其他奶

牛没有。游戏一轮以后,各个奶牛的干草数为:1,1,0,0,1,1;二轮以后各个奶牛的干草数为:

1/2,1/2,1,1,1/2,1/2。

输入输出格式

输入格式:

第一行包含 6 个整数 A i ,表示 6 只奶牛开始时拥有的干草数量。

第二行包含 1 个整数 k,表示游戏要进行的轮数。

输出格式:

如果答案是整数,则答案共一行包含一个整数;如果答案是分数,则答案共一行包含一个最简分

式(无空格)。

输入输出样例

输入样例#1:

0 0 4 0 0 0
2

输出样例#1:

1

说明

对于 30% 的数据:保证任意时刻每只奶牛拥有的干草数量为整数;

对于 100% 的数据:0 ≤ A i ≤ 1000,0 ≤ k ≤ 45。

分析:一道大模拟,就是分数加减法,不过要注意每次运算完都必须要约分,而且求最小公倍数要先除后乘,否则会爆long long.

#include <bits/stdc++.h>using namespace std;int k; long long gcd(long long x,long long y)
{if (!y)return x;return gcd(y,x % y);
}struct node
{long long a,b;
}e[10];struct node2
{long long a,b;
}e2[10];node add(node2 x,node y)
{long long temp = gcd(x.b,y.b);long long lcm = x.b / temp * y.b;x.a *= (lcm / x.b);y.a *= (lcm / y.b);node tt;tt.a = x.a + y.a;tt.b = lcm;if (tt.a != 0){long long t = gcd(tt.a,tt.b);tt.a /= t;tt.b /= t;}return tt;
}int main()
{//前 --- 上下左右  1  3456//后 --- 上下左右  2  3456//上 --- 前后左右  3  1256//下 --- 前后左右  4  1256//左 --- 上下前后  5  1234//右 --- 上下前后  6  1234cin >> e[1].a >> e[2].a >> e[3].a >> e[4].a >> e[5].a >> e[6].a >> k;for (int i = 1; i <= 6; i++)e[i].b = 1;while (k--){for (int i = 1; i <= 6; i++){e2[i].a = e[i].a;e2[i].b = e[i].b;e2[i].b *= 4;e[i].a = 0;e[i].b = 1;//printf("%d %d\n",e2[i].a,e2[i].b);if (e2[i].a != 0){int t = gcd(e2[i].a,e2[i].b);e2[i].a /= t;e2[i].b /= t;}}for (int i = 1; i <= 6; i++){if (i == 1 || i == 2){for (int j = 3; j <= 6; j++){node t = add(e2[i],e[j]);e[j].a = t.a;e[j].b = t.b;}}elseif (i == 3 || i == 4){for (int j = 1; j <= 2; j++){node t = add(e2[i],e[j]);e[j].a = t.a;e[j].b = t.b;}for (int j = 5; j <= 6; j++){node t = add(e2[i],e[j]);e[j].a = t.a;e[j].b = t.b;}}elseif (i == 5 || i == 6){for (int j = 1; j <= 4; j++){node t = add(e2[i],e[j]);e[j].a = t.a;e[j].b = t.b;}}}}if (e[3].a % e[3].b == 0)cout << e[3].a / e[3].b << endl;elsecout << e[3].a << '/' << e[3].b << endl;return 0;
}

转载于:https://www.cnblogs.com/zbtrs/p/7424775.html

常州模拟赛d4t1 立方体相关推荐

  1. 常州模拟赛d3t3 两只怪物心心相印

    题目背景 从前我是一位无名的旅人,旅途中我得到了某样东西:贤者之石.我因此得到悠久的时光和漂泊的生命.1897年冬天,我一时兴起舍弃了旅人的生活. 贤者之石创造出来的,是货真价实的黄金.我的名声传遍了 ...

  2. NOIP模拟赛 17.10.10

    初次见面(firstmeet) [题目背景] 雾之湖边,静得可怕. 露米娅出神凝望.黑白连衣裙,像极了绽放的墨黑和洁白的莲.身边的雾之 湖,倒映着血色天空.酒红的双眸,映照一切.低声浅笑,双臂伸直,她 ...

  3. GMOJ - 2021.07.20【普及组】模拟赛C组 - 排座椅(seat)、传球游戏(ball)、立体图(drawing)、间谍派遣、seek

    文章目录 luogu博客链接 GMOJ - 2021.07.20[普及组]模拟赛C组 - 排座椅(seat).传球游戏(ball).立体图(drawing).间谍派遣.seek T1 排座椅(seat ...

  4. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  5. 2017.6.11 校内模拟赛

    题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...

  6. 2020年蓝桥杯模拟赛2020.3.25直播笔记

    2020年蓝桥杯模拟赛解题报告(CPP版本) 第八题 长草的bfs写法[我想暴力模拟O kmn] 深搜会爆 bfs像投到水里的涟漪 问题: const int dx[] = {1, 0, -1, 0} ...

  7. 2021年 第12届 蓝桥杯 第4次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  8. 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  9. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

最新文章

  1. 虚拟化--015 配置VMware View Event database失败:
  2. 深入理解JVM—性能监控工具
  3. [YTU]_2570 指针练习——变量交换
  4. 从面试蚂蚁失败反思-缓存穿透技术
  5. html盒子全部蓝色,彻底弄懂CSS盒子模式之五
  6. python 西门子交换机_python读取交换机
  7. solving order
  8. hlw8012arduino代码_麻雀虽小五脏俱全-liteduino arduino开发板PCB文件
  9. bootstrap table用法
  10. re模块或正则表达式
  11. 富士施乐m115b怎么连接电脑_富士施乐m115b驱动下载
  12. PHPExcel导出出现白页
  13. 可以在idle内部执行python命令_2、Python IDLE入门
  14. 华为m2青春版android7,时尚新体验:华为M2青春版
  15. 如何做Code Review——读后感
  16. 7大原因告诉你,为什么IT行业发展前景好
  17. 论文笔记1《基于ID3决策树改进算法的客户流失预测分析》
  18. 计算机体系结构——内存
  19. Qt实现计算器(包含算术运算和逻辑运算),纯干货,一步步超详细过程
  20. 【黄啊码】tp5+微信小程序商城开发教程

热门文章

  1. 关键词分词工具_快图制作工具 | 如何制作词云图?
  2. python3.7打包exe坑_[求助]入坑学习python 需要装pyinstaller打包成exe
  3. java 隐藏了什么_JAVA程序中封装与隐藏是什么意思
  4. python 字符串转日期_我总结的130页Python与机器学习之路V1.2.pdf,都是干货!
  5. c语言指针用法有哪些
  6. Invalid Gradle JDK configuration found_带你了解Gradle编译速度是如何提升70%的
  7. 管道在c语言中的作用,在C中实现管道
  8. 纯净pe工具_微PE工具箱2.0
  9. 协议转换器的特点有哪些?
  10. 光纤收发器按照网管怎么分类