POJ 1006

lidajun0717 2012-04-02 01:41:47
为什么提交上去老是说Wrong Answer,实例都通过了啊
题目地址:http://poj.org/problem?id=1006

#include <iostream>

using namespace std;

const int Physical = 23;
const int Emotional = 28;
const int Intellectual = 33;

int main()
{
int p, e, i, d;

cin >> p >> e >> i >> d;
int index = 1;
while (p != -1)
{
p += 23;
while (1)
{
while (p > e)
e += Emotional;
while (p < e)
p += Physical;

if (p == e && (e - i) % Intellectual == 0) break;
else if (p == e)
e += Emotional;
}

cout << "Case " << index << ": the next triple peak occurs in " << p - d << " days.";
cin >> p >> e >> i >> d;
index++;
}
return 0;
}
...全文
173 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
www_adintr_com 2012-04-02
  • 打赏
  • 举报
回复
肯定不能过, 你输入 1 1 1 2, 你的结果是 -1
说下你的思路和步骤看有什么漏洞没.
www_adintr_com 2012-04-02
  • 打赏
  • 举报
回复
1. 你的输出需要加上换行符才行.
2. 多读题, 你用 1 1 1 0 来测试你的程序得到的答案就会不符合要求. 题目要求 "所求的时间小于21252".
hen_hao_ji 2012-04-02
  • 打赏
  • 举报
回复
http://apps.hi.baidu.com/share/detail/18920065
楼主参考下这个解题报告,,WA说明算法有问题。。
lidajun0717 2012-04-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

当前时间是第 4 个参数 0 呀。
[/Quote]

我改了一下程序,还是不行,快疯了~~~

#include <iostream>

using namespace std;

const int Physical = 23;
const int Emotional = 28;
const int Intellectual = 33;

int main()
{
int p, e, i, d;

cin >> p >> e >> i >> d;
int index = 1;
while (p != -1)
{
if (p == e && p == i && p == d)
p += Physical;
while (1)
{
while (p > e)
e += Emotional;
while (p < e)
p += Physical;

if (p == e && (e - i) % Intellectual == 0) break;
else if (p == e)
e += Emotional;
}

cout << "Case " << index << ": the next triple peak occurs in " << p - d << " days." << endl;
cin >> p >> e >> i >> d;
index++;
}
return 0;
}

www_adintr_com 2012-04-02
  • 打赏
  • 举报
回复
当前时间是第 4 个参数 0 呀。
lidajun0717 2012-04-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:

引用 2 楼 的回复:

1. 你的输出需要加上换行符才行.
2. 多读题, 你用 1 1 1 0 来测试你的程序得到的答案就会不符合要求. 题目要求 "所求的时间小于21252".


那怎么保证所求时间小于21252呢?如果确实是大于21252咋办啊~~~~


不会确实大于 21252 的,因为这三个数的最小公倍数是 21252。
1……
[/Quote]
但是题目中说的是下一个triple peak,1 1 1 0如果是1的话,不就是当前的triple peak吗??
www_adintr_com 2012-04-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:

1. 你的输出需要加上换行符才行.
2. 多读题, 你用 1 1 1 0 来测试你的程序得到的答案就会不符合要求. 题目要求 "所求的时间小于21252".


那怎么保证所求时间小于21252呢?如果确实是大于21252咋办啊~~~~
[/Quote]

不会确实大于 21252 的,因为这三个数的最小公倍数是 21252。
1 1 1 0 的正确答案应该是 1.
lidajun0717 2012-04-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

http://apps.hi.baidu.com/share/detail/18920065
楼主参考下这个解题报告,,WA说明算法有问题。。
[/Quote]

中国剩余定理我也知道,但是我现在就想知道我的算法到底错在哪儿了???
lidajun0717 2012-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

1. 你的输出需要加上换行符才行.
2. 多读题, 你用 1 1 1 0 来测试你的程序得到的答案就会不符合要求. 题目要求 "所求的时间小于21252".
[/Quote]

那怎么保证所求时间小于21252呢?如果确实是大于21252咋办啊~~~~
内容概要:本文基于Matlab/Simulink平台,对电励磁同步电机在异步牵入、稳态运行及能耗制动三个阶段的全周期动态特性进行建模仿真与系统研究。研究构建了完整的电机数学模型与仿真系统,重点分析了电机从异步启动到同步运行的过渡过程、稳态运行时的电磁与机械性能,以及执行能耗制动时的减速特性与能量耗散机理。通过仿真,揭示了励磁电流、负载转矩与转速在不同工况下的动态响应规律与耦合关系,为电机的控制策略设计与性能优化提供了理论依据和数据支持。; 适合人群:具备电机学、电力电子与电力拖动基础知识的电气工程及相关专业的研究生、科研人员与工程技术人员。; 使用场景及目标:①研究电励磁同步电机的启动特性,解决异步牵入过程不稳定或失败的问题;②分析电机在不同负载下的稳态运行性能,优化运行效率;③设计和验证能耗制动策略,精确控制制动过程的减速时间和能量消耗。; 阅读建议:在学习过程中,应结合电机的基本原理,深入理解仿真模型中各模块(如电机本体、励磁控制、负载模型)的搭建逻辑,并通过调整仿真参数(如励磁电压、负载大小)来观察和分析系统动态响应,以加深对电机全周期运行特性的理解。

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧