您的位置:首页 > 编程语言

青蛙的约会||资源控件||内存分配与函数操作||异常处理||Winsock编程

2010-01-21 22:18 423 查看

青蛙的约会

Description
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。
我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。

Input
输入只包括一行5个整数x,y,m,n,L,其中x≠y < 2000000000,0 < m、n < 2000000000,0 < L < 2100000000。

Output
输出碰面所需要的跳跃次数,如果永远不可能碰面则输出一行"Impossible"

Sample Input
1 2 3 4 5

Sample Output
4

来源:http://acm.pku.edu.cn/JudgeOnline/problem?id=1061
==================================================================================
ACM的题总是这么充满想象力和创造力……
其实这个题还是挺简单的。怎么说呢,就是不要妄想把首尾相接的坐标轴展开处理,否则青蛙王子永远不可能和他的“公主”见面。
数学解决是我们可以设一个MeetPoint和跳数t
解决的时候二元一次方程组MeetPoint消掉了,我们关心的是跳数t
==================================================================================
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
unsigned int x,y,m,n,l;
cout<<"请输入:x,y,m,n,l"<<endl;
cin>>x>>y>>m>>n>>l;
unsigned int t;
for (t = 1; ;t++)
{
if (m == n)
{
cout<<"Impossible"<<endl;
break;
}
if ((x + m * t) % l == (y + n * t) % l)
{
cout<<t<<endl;
break;
}
}
system("pause");
return 0;
}

==================================================================================
今天看的Window32汇编太多,有点some headache
先是看了昨天没认真看的“内存分配和文件操作”在看了以前没好好看的“对话框通用控件”有关内容,又看了“异常处理和SEH(结构化异常处理)”最后看了一部分“winsock网络编程”。
涉及到了很多问题
最近没怎么实践,觉得把东西打上去运行一下没什么实际效果,仅仅是熟练了一遍。我学汇编最主要的目的是为了深入理解系统底层的操作。让我用汇编去开发大型应用程序实在是不敢想象。虽然Win32汇编不少伪语言的操作使得其可读性相当好 了,但是还是不能跟高级语言相比。但同时汇编也有他的有点——高级语言做的了的他都能做,高级语言做不了得他也能做!
所以我认为汇编还是不可或缺的,至少对于我们这个专业——信息安全,学点汇编是好的。
而且还能吸收点罗云彬先生的编程思想和理念^_^看人家那模块化程序写的
以前特别愤,觉得有些老师讲课不行误人子弟,于是就不想上他们的课,也不喜欢他们。现在经过我这半年的经历和熏陶我渐渐地改变了这个看法。觉得老师SB的人其实自己才是SB。
真的!
不要觉得老师不好,不要觉得老师不会讲课,也不要觉得老师讲课不讲重点——只要他站在讲台上,他就比你强,你就得首先尊敬他,然后逐渐的喜欢他,最终你会发现你特别喜欢这门课,然后做出来一些实际的收获,最终还去得了不错的成绩,老师也很喜欢你。
你一直觉得老师SB,一上课要么就不去,要么去也不听,一堂课下来就在抱怨老师这儿没讲到,那儿没讲懂……其实怪你自己,谁让你不好好听的??平时上课不去,期末老师给你分低了开始怨老师,你TM就是活该,怨的着谁了??
我说的是以前的我……
==================================================================================
嗯,回家后要把《数据结构》再看看,复习一下;看看oranges‘s:一个操作系统的实现,我觉得这本书能实现我从大一以来的一个梦想——自己(或者和同学一起)做一个操作系统出来。给了我最大的帮助。
内存的分配是跟操作系统关系密切的。
操作系统采用了什么技术管理内存,你就要会什么样的方式去操作内存
Windows处于用户态的内存管理函数有三组(太失败了,学了这么长时间的win32汇编了还是没突破核心态,这件事还是得自己做)。你会操作内存,但是你会发现你操作的内存总是系统分配给您的。晕!想要自己动手操作内存要么自己去学内核编程驱动开发,要么就回8086去……
就先这些吧,今天早点睡,明早还有事呢。没编代码,也没得写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐