http://www.ocf.berkeley.edu/~wwu/riddles/cs.shtml
一些很另类的信息学问题,比如:用常数空间线性时间找链表中的一个环,只用NAND实现XOR门,不用乘法和加法把一个数乘以7,常数时间无附加空间交换两变量,写一个输出自己代码的程序,用n + O(log n)次比较查找第二小的元素,写一个程序用C编译时输出“C”而用C++编译时输出“C++”……
另外,不要找我要答案,我这里没有答案
http://www.ocf.berkeley.edu/~wwu/riddles/cs.shtml
一些很另类的信息学问题,比如:用常数空间线性时间找链表中的一个环,只用NAND实现XOR门,不用乘法和加法把一个数乘以7,常数时间无附加空间交换两变量,写一个输出自己代码的程序,用n + O(log n)次比较查找第二小的元素,写一个程序用C编译时输出“C”而用C++编译时输出“C++”……
另外,不要找我要答案,我这里没有答案
现在坐上M67神牛的沙发真不容易
沙发出租中……
晕死~
读到前面很激动,读到后面很被动
用常数空间线性时间找链表中的一个环
两个指针,一个每次走一步,一个每次走两步。
常数时间无附加空间交换两变量
Swap(a,b) <=> a^=b^=a^=b
写一个输出自己代码的程序
做过Tongji的都不会陌生这个吧,TJU1072
用n + O(log n)次比较查找第二小的元素
CTSC2006的交互题。
其他的不会了…~
不用乘法和加法把一个数乘以7
-(-x-x-x-x-x-x-x)应该可以吧。。
用NAND实现XOR不难吧,NAND是完备连接词啊。
p NAND p=NOT p
(p NAND q) NAND (p NAND q)=NOT (p NAND q)= p AND q
有了NOT AND,实现什么都好办
回复:膜拜一下大牛
var a:string;begin a:='var a:string;begin a:=;writeln(copy(a,1,22),chr(39),a,chr(39),copy(a,23,59));end.';writeln(copy(a,1,22),chr(39),a,chr(39),copy(a,23,59));end.
传说中能输出自己的代码
回复:toj的那道题……
汗了
常数时间交换两变量:a:=a+b; b:=a-b; a:=b-a;
常数时间无附加空间交换两变量 a:=a+b;b:=a-b;a:=a-b;
不好意思地核写错了。