摘要:
最简单的递推不解释!!!呵呵!!#include<iostream>#include<algorithm>using namespace std;int n,f[20][20];int CrossRoad(int L,int W){ if(f[L][W]!=-1) return f[L][W];int result;if(L==0||W==0) result=1; else result=CrossRoad(L-1,W)+CrossRoad(L,W-1); f[L][W]=result; return f[L][W];}int main(){while(cin>& 阅读全文
摘要:
此题也是一道技巧题,最好不要设数组,因为那样的话会比较麻烦!!!还有可能超时!!呵呵!这道题用到了set()容器,它的主要作用就是把n个不同的数或者字母按一定顺序没有重复的放到一个容器中,我的感觉它就是一个栈,不管那么多了,看程序吧!哈!思路:这个可以用set容器来做,每输入一场比赛都将两个名字放入入总的容器中,将失败的人insert入失败的容器中,如果能分出胜负,那总的容器的长度=失败的容器+1;因为胜者是不会进入失败的容器的!!关于set容器的用法可以参考:http://www.cnblogs.com/xiohao/archive/2012/11/19/2772195.html#inclu 阅读全文
摘要:
#include<iostream>#include<algorithm>using namespace std;int T,N,temp;struct desk{ int From;int To;int jihao;}data[505];bool cmp(const desk &a,const desk &b){if(a.From==b.From) return a.To<b.To;else return a.From<b.From;}int main(){ cin>>T; while(T--) { cin>>N; 阅读全文
摘要:
此题依然是一道贪心的问题!!!思路大致如下:首先将输入的n个数按长度进行排序,当然用sort()函数了!哈!接着再用两个for循环一个一个的查找,当找到一个元素的时候,就做一个标记,令data[i].jihao=1;关于函数memset()的讲解请参考:http://www.cnblogs.com/xiohao/admin/EditPosts.aspx?postid=2752225&update=1关于函数sort()函数的讲解请参考:http://www.cnblogs.com/xiohao/admin/EditPosts.aspx?postid=2755183&update 阅读全文
摘要:
异或门符号'^',在编程中的使用,有的时候能够让你的程序更加精炼简捷,尤其在C++的acm程序应用中,可以避免许多麻烦!!!它的几个简单作用讲解如下:它的简单规则是相同为0,不同为1,例如int a=3=011(2进制,在计算机中的存储形式);int b=6=110(2进制,在计算机中的存储形式);int c=a^b=101=5;切忌,在异或门的计算中都是应用的2进制!!任何数和0异或都等于它本身;两个相同的数异或后的结果是0;1)实现两个数的交换 a=a^b; b=a^b;//b=a^b^b=a^0=a; a=a^b;//a=a^a^b=0^b=b;应用例子如下:#inclu 阅读全文
摘要:
此题还可以吧!!!就是注意一下,不能用常规方法,也就是说不能建立数组,因为当数组的大小超过1000000时,编译器就无法运行了!!!此题的正确思路如下:只要有相同的数那么他们异或后的结果就是0,最后就剩下0和那个独一无二的数相异或,就等于那个独一无二的数了!!在程序中用到了异或的方法,其中有关异或门的讲解请参考:http://www.cnblogs.com/xiohao/archive/2012/11/15/2770920.html祝你成功AC!!#include<iostream>using namespace std;int main(){ int n,i,x,y; while 阅读全文