题目:大意是说给定两个数,让你用这两个数,随意地进行+或者-两种操作,求出最小操作数使得结果为1,当不可能达到1的时候,输出-1.
方法:明显的数论题目,相当于求出ax+by=1的解。
当两个数不互素时,得不到1的结果;
当两个数互素时,使用拓展欧几里德来求得x和y,输出abs(x)+abs(y)-1即可。
注意:这道题目的数据涉及0、1,这些数...
分类:
其他好文 时间:
2014-05-05 13:27:30
阅读次数:
339
题目:给定一个n*m大的纸张,上面表明了每块上的字母,在其背后给定了对应位置的字母的value,在最后给出需要剪出来的剪纸的字母序列。
方法:暴力搜索。
代码:
#include
#include
#include
#include
using namespace std;
char map[502][502];
int Map[502][502];
int vis[502][502...
分类:
其他好文 时间:
2014-05-05 12:53:36
阅读次数:
338
在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。守护进程是在后台运行不与任何控制终端关联,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。大多数服务都是通过守护进程实现的。它从被执行开始运转,直到整个系统关闭时才退出。如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就...
分类:
其他好文 时间:
2014-05-04 00:14:41
阅读次数:
283
本题思路:
1 利用string保存数据,把string分成两半
2 由小到大排序
3 有小到大逐个比较,有一个不符合条件就可以结束循环了...
分类:
其他好文 时间:
2014-05-03 23:45:34
阅读次数:
349
译:
这是一个常见的问题,但是对于这个问题我没有找到一个很好的方法:如何将整数类型转化为字符串类型?我遇到过几种解决方案。我不会使用stringstream。sprintf()函数也遇到了问题,并且它是C语言的风格。函数itoa()以前工作地很好,但参考文档说:
这个函数在ANSI-C中没有被定义,并且它不是C++的一部分,但有些编译器支持并且这个函数也是C语...
分类:
其他好文 时间:
2014-05-03 17:46:11
阅读次数:
294
在输入密码时,实现有限次密码输入的限制,如果三次都没有输入正确,程序将直接退出,不允许用户继续操作。
#include
#include
using namespace std;
int main()
{
string pwd;
int cLogin=0;
do
{
cout<>pwd;
if (pwd!="123")
{
...
分类:
编程语言 时间:
2014-05-03 17:45:26
阅读次数:
354
题目:给出一个n*m大的花园,求出从左上角到右下角的路径数目(路径单调)。
方法:路径数=C(m+n-2,m-1);别忘了最后对p取余。由于数据最大能达到10^5,使用杨辉三角记录的话会爆内存,所以只能换方法。
由于C(x,y)=x!/(y!*(x-y)!),这里我们可以将x!分解素因子,并保存记录下来,同样的方法记录后面两个,由于x!必然能够整除(y!*(x-y)!),...
分类:
其他好文 时间:
2014-05-03 17:41:40
阅读次数:
224
上一篇讲的都是理论,下面我们亲自实践一下。
首先编写一个简单的java类:
public class Test
{
private int m;
private String str;
public int func(int m,String str)
{
str += "OK";
m = 10;...
分类:
其他好文 时间:
2014-05-03 15:59:28
阅读次数:
300