题目:大意是说给定两个数,让你用这两个数,随意地进行+或者-两种操作,求出最小操作数使得结果为1,当不可能达到1的时候,输出-1.
方法:明显的数论题目,相当于求出ax+by=1的解。
当两个数不互素时,得不到1的结果;
当两个数互素时,使用拓展欧几里德来求得x和y,输出abs(x)+abs(y)-1即可。
注意:这道题目的数据涉及0、1,这些数...
分类:
其他好文 时间:
2014-05-05 13:27:30
阅读次数:
339
本题思路:
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
题意就是求满足题目中给出的递归代码的最大递归层数。
由于x[i]只有0和1,所以我们就比较容易想到2-SAT,然后二分递归层数,求出满足要求的最大递归层数。建图的时候,不满足不等式的就是互相矛盾的,然后建边。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2014-05-03 16:36:15
阅读次数:
208
上一篇讲的都是理论,下面我们亲自实践一下。
首先编写一个简单的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
classPerson
{
publicStringname;//定义实例Feild
publicstaticinteyeNum;//定义类Feild
}
publicclassPersonTest
{
publicstaticvoidmain(String[]args)
{
System.out.println("Person的eyeNum的类Feild值是:"
+Person.eyeNum);
}
}运行:[root@server254java]#javaPersonTes..
分类:
编程语言 时间:
2014-05-03 15:02:27
阅读次数:
484