上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页

2011年5月6日

ACM PKU 2328 http://acm.pku.cn/JudgeOnline/problem?id=2328

摘要: #include<iostream>#include<string>using namespace std;int main(){char abc[20];int n , max[100] , min[100] , i = 0 , j = 0 , k, cnt = 0 ,number = 0;while(cin>>n){ number++; if(number == 1 && n == 0) return 0; getchar(); gets(abc); if( !strcmp("too high",abc) ) max[ 阅读全文

posted @ 2011-05-06 19:56 _Clarence 阅读(125) 评论(0) 推荐(0) 编辑

ACM PKU 1009 http://acm.pku.cn/JudgeOnline/problem?id=1009

摘要: #include <stdio.h>#include <stdlib.h>int stick[64];int used[64];int n, m, len;void init ( int n ){ for ( int i=1; i<n; i++ ) { used[i] = 0; } used[0] = 1;}int cmp ( const void *a, const void *b ){ return *( int * )b - *( int * )a;}int dfs ( int start, int no, int cur, int last ){ int 阅读全文

posted @ 2011-05-06 19:55 _Clarence 阅读(173) 评论(0) 推荐(0) 编辑

ACM2304 http://acm.pku.cn/JudgeOnline/problem?id=2304

摘要: #include<iostream>using namespace std;int main(){int a , b , c , d , sum;while(cin>>a>>b>>c>>d ){ sum = 0; if(!a && !b && !c && !d) return 0; sum += 1080; if( a > b) sum += (a - b) * 9; else sum += 360 - (b - a) * 9 ; if(b < c ) sum += (c - 阅读全文

posted @ 2011-05-06 19:54 _Clarence 阅读(124) 评论(0) 推荐(0) 编辑

ACM 2260 http://acm.pku.cn/JudgeOnline/problem?id=2260

摘要: #include <iostream>using namespace std;int main (){ int n;bool a[100][100];for(int i=0;i<100;i++){ cin >>n; if (n==0) break; int o=0,q=0,p=0,x=0,y=0; for (int j=0;j<n;j++) for (int k=0;k<n;k++) { cin >>a[j][k]; } for (int l=0;l<n;l++) { int sum1=0; for (int m=0;m<n;m 阅读全文

posted @ 2011-05-06 19:53 _Clarence 阅读(94) 评论(0) 推荐(0) 编辑

素数测试+大数的因素分解 的概率算法

摘要: 素数在密码届被广泛使用。如何判断一个素是素数,迄今为止最有效的方法是筛数法,做个表(打表法)即素数的倍数一定是合数。筛选法的效率很高,但是遇到大素数就无能为力了。米勒罗宾算法是一个相当著名的判断是否是素数的算法,能够很大概率的判断一个数是否是素数(接近100%,在一定范围内能达到100%)。在工程方面被广泛应用。米勒罗宾算法的核心是课上提到的费马小定理:即如果一个数n 它的 a^(n-1)%n !=1 (0<a<n) 则它一定是合数。如果 a^(n-1)%n ==1 (0<a<n) 则它可能是合数可能是素数。概率算法的概率就在这个 a上体现。/*1 随机取一个 a2 如 阅读全文

posted @ 2011-05-06 19:53 _Clarence 阅读(810) 评论(1) 推荐(0) 编辑

ACM 1050 To the Max http://acm.pku.cn/JudgeOnline/problem?id=1050

摘要: 这里我重新整理了一下最大子矩阵的算法;基本思路是将二维数组转化为一维数组,多次调用最大子段和函数,通过比较获得最大值;我画一个图吧;每次将二维数组的每列和转为一维数组;调用一维数组最大最大子段和问题;用temp存储最大值就欧了!!!总之一句话:会最大字段和这个问题就很容易看懂!我也不多写了,代码贴一下:#include <iostream>using namespace std;int array[105][105],n,s[105];int maxSum(int n,int *a){int sum=a[0],b=0;for(int i=0;i!=n;++i){ if (b> 阅读全文

posted @ 2011-05-06 19:52 _Clarence 阅读(164) 评论(0) 推荐(0) 编辑

ACM1503 http://acm.pku.cn/JudgeOnline/problem?id=1503

摘要: #include <iostream>using namespace std;int main (){char a[200][200]={'0'};int b[200]={0};int c[200]={0};int mm=0;int j=0;int i=0;for (;;i++){cin>>a[i];b[i]=strlen(a[i])-1;if (b[i]>mm) mm=b[i]; if (a[i][0]=='0'&&b[i]==0)break;}int carry =0;for (int p=mm;p>=0; 阅读全文

posted @ 2011-05-06 19:51 _Clarence 阅读(95) 评论(0) 推荐(0) 编辑

C++/MFC 试题 (1)

摘要: 一.填空题(26分)1.WIN32平台下,sizeof(short) = __2__,sizeof(int) = __4__,sizeof(long) = __4__。(3分)2.请给出如下程序的结果(2分)int a = 3;int b = a << 3;a = __3__,b = __24__。3.请给出如下程序的结果(2分)int aaa = 0x01;htonl(aaa) = _16777216___。//这题运行显示的是16777216,我觉得可能是随机值4.请给出如下程序的结果(2分)#define MAX_NUM 100+200int nTemp = MAX_NUM* 阅读全文

posted @ 2011-05-06 19:50 _Clarence 阅读(378) 评论(0) 推荐(0) 编辑

C++/MFC 试题 (2)

摘要: 三.简答题(64分)1.请简述C、C++、VC、MFC在概念上的区别(4分)2.请写一个函数重载的简单例子(4分)3.用什么函数开启新进程、线程。(4分)4.SendMessage和PostMessage有什么区别(4分)5.WaitForSingleObject有何作用;m_pThrd的类型是CWinThread*时,WaitForSingleObject(m_pThrd->m_hThread, INFINITE);有何作用。(4分)6. __stdcall、__cdecl、__pascal在什么方面有所不同。(4分)7.请把下述代码加上异常处理。(6分)int MyWriteFile 阅读全文

posted @ 2011-05-06 19:50 _Clarence 阅读(229) 评论(0) 推荐(0) 编辑

ACM 1740 A New Stone Game http://acm.pku.cn/JudgeOnline/problem?id=1740

摘要: 题目大意:有N堆石头,每堆石头数目在1到100之间,最多有10堆.两人分别取走石头.取石头的规则是:每次只能从1堆中取,每次取走至少1个.取过后还可以把这堆的石头任意分配到其它堆上(这些堆必须有石头,废话呵呵),当然也可以不分配.问给定这些石头堆的情况,两人轮流取,谁先取完谁胜利,问是先取的胜利还是后取的胜利.双方最优策略.我就直接说结论了:首先讨论石头堆两堆两堆相等的情况,例如x,x,y,y,z,z.6堆的情况.在这种情况下先取的必输,很简单,先取的那人怎么取后取的那人就怎么取(如果对方把石头分配到一堆上,你就分配到与之对应的堆上),总之保持这个相等的均势不变,这样到最后,后取的人就将取走最 阅读全文

posted @ 2011-05-06 19:49 _Clarence 阅读(154) 评论(0) 推荐(1) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页

导航