题目特别长,大意为球的传递。

三个轨道,一个库。各自是分钟单位的轨道。5min单位的轨道。一小时单位的轨道。还有就是n容量的库。

每过一分钟,一个小球从库里面出来,库符合先进先出,进入分钟轨道。假设分钟轨道里面已经有了4个,那么这四个就滑入库,而这个球则进入5min轨道,假设5min轨道已经有了11个。这11个就滑入库。而这个球则滑入小时轨道。假设小时轨道已经有了11个,则这11个滑入库。这个球最后滑入库。在轨道中的球滑入库中,轨道里的球满足先进后出。

如此,轨道是栈。库是队列。并且模拟过程也出来了。

暴力会爆

这个题目

提升了我的调试能力。

1. 大规模数据用freopen输入输出,再用UE等软件对照diff,找到问题后再调试

2.中途设置条件输出。

#include <iostream>
#include <cstdio>
#include <vector>
#include <string>
#define maxn 1005
using namespace std;
int N,M;
int a[200];
int q[60*24*10];
int Mstack[3][20];//sec min hou
int top[3];
int vis[200];
int head,tail;
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int solve()
{
int i,j,k,flag;
int cnt,ans;
for(i=1;i<=N;i++)
q[i]=a[i]=i;
head=1;tail=N+1;
memset(top,0,sizeof(top));
memset(vis,0,sizeof(vis));
for(j=tail,i=1;i<=60*24;i++)
{
if(top[0]==4){
for(k=0;k<4;k++) q[j++]=Mstack[0][--top[0]];
if(top[1]==11){
for(k=0;k<11;k++) q[j++]=Mstack[1][--top[1]];
if(top[2]==11){
for(k=0;k<11;k++) q[j++]=Mstack[2][--top[2]];
q[j++]=q[i];
}else Mstack[2][top[2]++]=q[i];
}else Mstack[1][top[1]++]=q[i];
}else Mstack[0][top[0]++]=q[i]; /*if(i>=720)
printf("%d\n",q[i]); printf("\n");*/ }
ans=1;
for(j=i;j<N+i;j++)
{
if(vis[j-i+1]==0)
{
vis[j-i+1]=1;
k=q[j];
cnt=1;
while(vis[k]==0)
{
cnt++;
vis[k]=1;
k=q[i+k-1];
}
ans=ans/gcd(ans,cnt)*cnt;
}
}
return ans;
}
int main()
{
//freopen("E:\\out.txt","w",stdout);
while(scanf("%d",&N),N)
{
printf("%d balls cycle after %d days.\n",N,solve());
}
return 0;
}

POj 1879 Tempus et mobilius Time and motion (模拟+群)的更多相关文章

  1. POJ 1879 Tempus et mobilius Time and motion 队列和栈

    很简单的队列和栈的应用,不过读明白题意非常重要:(直接引用白书的题解)三个轨道,一个库.分别是分钟单位的轨道,5min单位的轨道,一小时单位的轨道,还有就是n容量的库.每过一分钟,一个小球从库里面出来 ...

  2. UVA 239 - Tempus et mobilius. Time and motion(更换周期)

    UVA 239 - Tempus et mobilius. Time and motion 题目链接 题意:这题题意也是吊得飞起,看了老半天,大概是这样: 有一个放球的队列.和3个轨道(说白了就是栈) ...

  3. POJ 1573 Robot Motion 模拟 难度:0

    #define ONLINE_JUDGE #include<cstdio> #include <cstring> #include <algorithm> usin ...

  4. poj 1879 Truck History

    本题链接:点击打开链接 题目大意: 输入n表示卡车辆数,输入每辆卡车编号.即长度为7的字符串,每辆卡车编号均可由其他类型编号衍生过来,求由当中一辆衍生出其他全部的最小衍生次数(有一个字符不同就需衍生一 ...

  5. POJ 1879

    栈和队列的综合应用,利用栈和队列分别模拟分,5分,时槽,以及小球队列 利用求出一天后的置换可以求出周期,进而求出最大公约数(可以利用矩阵的角度,也许可以简化,因为每次都是乘上一个相同的置换矩阵) 要注 ...

  6. uva 101 POJ 1208 The Blocks Problem 木块问题 vector模拟

    挺水的模拟题,刚开始题目看错了,poj竟然过了...无奈.uva果断wa了 搞清题目意思后改了一下,过了uva. 题目要求模拟木块移动: 有n(0<n<25)快block,有5种操作: m ...

  7. poj 2993 Emag eht htiw Em Pleh(模拟)

    题目:http://poj.org/problem?id=2993 题意:和2996反着 #include <iostream> #include<cstdio> #inclu ...

  8. POJ 2632 Crashing Robots(较为繁琐的模拟)

    题目链接:http://poj.org/problem?id=2632 题目大意:题意简单,N个机器人在一个A*B的网格上运动,告诉你机器人的起始位置和对它的具体操作,输出结果: 1.Robot i ...

  9. POJ 3419 Difference Is Beautiful(RMQ+二分 或者 模拟)

    Difference Is Beautiful Time Limit:5000MS     Memory Limit:65536KB     64bit IO Format:%lld & %l ...

随机推荐

  1. Mina airQQ聊天 服务端篇(二)

    Mina聊天服务端实现思路:在用户登录的时候.连接服务端而且验证登录用户,假设成功,则将IoSession保存到map<账号,IoSession>中,而且通知该用户的好友上线,然 后再请求 ...

  2. Android Branch and master source code merge(patch)

    Environment : Android 4.4.2 merge with Android 4.4.3(with other vendors source code) 1.确定你要merge 到 其 ...

  3. Determine whether an integer is a palindrome. Do this without extra space.

    看到这个题目的时候,首先不认识 Determine这个单词.英文不好没办法,查了下是确认的意思,然后不懂 palindrome这个单词, 查了下是回文的意思. 问题是 回文是个什么东西,官方解释: A ...

  4. PHP把数字ID转字母ID

    PHP把数字ID转字母ID ID是网站中经常出现的,它一般是数字,但是我们发现现在的网站很多ID都是字母了,比如YouTube的视频播放页它的URL类似/watch?v=yzNjIBEdyww. 下面 ...

  5. 在Ubuntu下编译Assimp库

    在Ubuntu下编译Assimp库 怎样在Ubuntu下编译Assimp库?这是我曾经编译成功后做的笔记,供參考. 1.去以下的站点去下载Assimp库: http://assimp.sourcefo ...

  6. [置顶] 应广大童鞋的要求提供一个封装模块,直接和ADB 服务进程交互

    很多童鞋在用ADB 的时候都是直接启动ADB 的进程,然后通过管道的方式获取输出,这样多个线程同时使用ADB 的时候任务管理器一闪一闪的,是不是很不爽啊,原先介绍过可以直接和ADB 服务进程通信,不用 ...

  7. Swift - iCloud存储介绍

    对于开发者而言,涉及iCloud存储的功能主要有两个: 一是 iCloud documnet storage,利用 iCloud 存储用户文件,比如保存一些用户在使用应用时生成的文件以及数据库文件等. ...

  8. ASP.NET、WinForm - 判断整个页面文本框是否为空

    foreach(Control ctrl in Page.Controls) { foreach(Control childc in ctrl.Controls) { switch(childc.Ge ...

  9. HDU 4868 Information Extraction(2014 多校联合第一场 H)

    看到这道题时我的内心是奔溃的,没有了解过HTML,只能靠窝的渣渣英语一点一点翻译啊TT. Information Extraction 题意:(纯手工翻译,有些用词可能在html中不是一样的,还多包涵 ...

  10. 攻略三战的完美体验3Castle Fantisia阿兰·梅希亚战争艾伦西战记它包含重做版本(这是新的艾伦·梅希亚大战)

    (城堡幻想曲3,纠正大家个错误哦,不是圣魔大战3,圣魔大战是城堡幻想曲2,圣魔大战不是个系列,艾伦西亚战记==艾伦希亚战记,一个游戏日文名:タイトル キャッスルファンタジア -エレンシア戦記-リニュー ...