博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA12108
阅读量:5258 次
发布时间:2019-06-14

本文共 1246 字,大约阅读时间需要 4 分钟。

这道题目的难点主要在如何判断进入了循环,已经如何判断下一次的状态,总体来说还是比较容易的。

函数中的is_sleep()函数成功的解决了很多的问题,非常的好用。

下面贴上代码

//主要难点在于如何判断一直没有全醒的状态,保存各个状态,如果之前出现过这个状态,那么就一定会重复下去//根据当前状态判断下一次的状态问题#include
#include
using namespace std;vector
state[10];//保存状态int awaken[10],sleep[10];int num_student;void clear_vec(){ for(int i=0;i<10;i++) { state[i].clear(); }}bool initial(){ clear_vec(); scanf("%d",&num_student); if(!num_student) return false;//printf("num_student=%d\n",num_student); for(int i=0;i
awaken[student]) { return true; } return false;}int next(int student,int num_state)//student是学生代号,num_state是第几个状态{ if(sleep[student]==state[student][num_state]) { return 1;//睡觉的最后一个时刻,下一个时刻该醒了 } if(state[student][num_state]>awaken[student]) {
//睡觉中间状态 return state[student][num_state]+1;//还是睡觉状态 } if(state[student][num_state]
cnt_awake) { //可以睡觉 return state[student][num_state]+1; } else { return 1;//继续醒着 } }}bool is_cycle(int num_state){ for(int j=0;j

 

转载于:https://www.cnblogs.com/TorettoRui/p/10414928.html

你可能感兴趣的文章
Kafka学习笔记
查看>>
Octotree Chrome安装与使用方法
查看>>
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
查看>>
趣谈Java变量的可见性问题
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>
ip相关问题解答
查看>>
MetaWeblog API Test
查看>>
反弹SHELL
查看>>
关闭Chrome浏览器的自动更新和升级提示
查看>>
移动、尺寸改变
查看>>
poj2255Tree Recovery【二叉树重构】
查看>>
tcpcopy 流量复制工具
查看>>
vue和react的区别
查看>>
第十一次作业
查看>>
负载均衡策略
查看>>