ACM题目训练
文章平均质量分 84
acm训练题
jkxqj
12345
展开
-
Largest palindrome product
https://projecteuler.net/problem=41、它是回文数2、存在2个三位数乘积等于它。 1 #include 2 #include 3 using namespace std; 4 bool is_ok(int x) 5 { 6 if(x%10!=x/100000 || (x/10)%10!=(x/10000)%10 ||原创 2013-08-05 15:10:14 · 1731 阅读 · 0 评论 -
codeforces-320A-Magic Numbers
http://codeforces.com/problemset/problem/320/AA magic number is a number formed by concatenation of numbers 1, 14 and 144. We can use each of these numbers any number of times. Therefore 14144, 14原创 2013-08-05 15:10:12 · 1107 阅读 · 0 评论 -
Smallest multiple
#include#includeusing namespace std;int lcm(int a ,int b){ int big=max(a,b); int small=min(a,b); int max=a*b; for(int i=big; i<max; i+=big) { if(i%small==0)原创 2013-08-05 15:10:16 · 962 阅读 · 0 评论 -
uva11292 - Dragon of Loowater
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2267将骑士和龙头都按升序排序,按顺序如果骑士值大于所有龙头则可以继续,如果可以杀掉所有龙头则输出骑士和否则不行。#include#include#include#includeu原创 2013-08-05 15:10:23 · 845 阅读 · 0 评论 -
Hdu1166-- 线段树模板
#include#includeusing namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1const int maxn=555555;int sum[maxn<<2];void pushup(int rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1];}原创 2013-08-05 15:10:41 · 771 阅读 · 0 评论 -
Train Problem I
http://acm.hdu.edu.cn/showproblem.php?pid=1022栈的模板题。 1 #include 2 #include 3 #include 4 #includestring> 5 #include 6 using namespace std; 7 string a,b; 8 int c[100]; 9 int main()原创 2013-08-05 15:10:25 · 1180 阅读 · 0 评论 -
Largest product in a grid( Project Euler problem 11)
In the 2020 grid below, four numbers along a diagonal line have been marked in red.08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 0849 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62原创 2013-08-05 15:10:19 · 870 阅读 · 0 评论 -
Highly divisible triangular number( Problem 12)
The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:1, 3, 6, 10, 15, 21, 28,原创 2013-08-05 15:10:21 · 1142 阅读 · 0 评论 -
codeforces 330A
http://codeforces.com/problemset/problem/330/A#include#include#includeusing namespace std;int row[10][10],col[10][10];char s[10][10];int main(){ // freopen("1.txt","r",stdin);原创 2013-08-05 15:10:48 · 1242 阅读 · 0 评论 -
codeforces 330B
http://codeforces.com/problemset/problem/330/B题解: 关键在于 m < n/2, 即必存在一个点能跟所有点相连,那么只用找出这么一个能连接所有点的点。 然后输出的边肯定只有n-1条。#include#include#includeusing namespace std;int map[1005];int main(){原创 2013-08-05 15:10:50 · 1225 阅读 · 0 评论 -
codeforces 158B
http://codeforces.com/problemset/problem/158/B贪心:4人1车,(3+1)人1车,(2+2)人1车,(2+1+1)人1车,(1*4)人1车#include#include#include#includeusing namespace std;int a[5];int main(){ // freopen("1.txt","r"原创 2013-08-18 19:20:09 · 1638 阅读 · 0 评论 -
九度OJ 1001
//好久没写C语言了,水题,判断一个矩阵一行或一列中的元素都是0的个数。#includeint x[10][10],y[10][10];int main(){ int a,b; while(scanf("%d %d",&a,&b)!=EOF) { if(a==0||b==0) break; int anum=0原创 2014-03-22 19:19:59 · 1365 阅读 · 0 评论 -
codeforce393A
#include#include#includeusing namespace std;int main(){ string a,b; int n,i,e,t,flag; while(cin>>a) { n=i=e=t=flag=0; for(int j=0; j<=a.length(); j++) {原创 2014-03-22 19:25:53 · 1344 阅读 · 0 评论 -
九度OJ 1015
//判断最后几位是否相同即可#includeint main(){ int a,b,k; while(scanf("%d %d %d",&a,&b,&k)!=EOF){ if(a==0&&b==0) break; int m=a,n=b; int flag=0; while(k--){ int x=m%10;原创 2014-03-22 19:49:11 · 1221 阅读 · 0 评论 -
hdu1702 list or stack+queue
http://acm.hdu.edu.cn/showproblem.php?pid=1702#include#include#include#includeusing namespace std;int main(){ // freopen("1.txt","r",stdin); int n; scanf("%d",&n); w原创 2013-08-05 15:10:52 · 919 阅读 · 0 评论 -
hdu1394 线段树求最小逆序数
hdu 1394http://acm.hdu.edu.cn/showproblem.php?pid=1394用线段树求逆序数,例如要求x的逆序数只需要访问(x+1,n)段有多少个数,就是x的逆序数。还有就是求最小逆序数的时候有个巧妙的想法,当把x放入数组的后面,此时的逆序数应该为x没放入最后面之前的逆序总数加上(n-x)再减去(x-1);sum = sum+(n-x[i])-(x[i]-1原创 2013-08-05 15:10:46 · 990 阅读 · 0 评论 -
Hdu1754-线段树-单点更新
#include#include#includeusing namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1const int maxn=200005;int MAX[maxn<<2];void pushup(int rt){ MAX[rt]=max(MAX[rt<<1],MA原创 2013-08-05 15:10:43 · 804 阅读 · 0 评论 -
poj 1251 kruskal
http://poj.org/problem?id=1251#include#include#include#include#includeusing namespace std;#define maxm 205#define maxn 30struct edge{ int u,v,w;} edges[maxm];int parent[原创 2013-08-05 15:11:06 · 961 阅读 · 0 评论 -
poj1287 kruskal
http://poj.org/problem?id=1287#include#include#include#define N 60using namespace std;struct node{ int x,y; int len;} city[2600];typedef struct node NODE;int n,m,pre[N]原创 2013-08-05 15:11:08 · 938 阅读 · 0 评论 -
poj2421 kruskal
http://poj.org/problem?id=2421#include#include#include#include#includeusing namespace std;int n;struct edge{ int a,b; int len;} edges[10011];int Num;int map[111][11原创 2013-08-05 15:11:10 · 959 阅读 · 0 评论 -
poj2031 kruskal
http://poj.org/problem?id=2031#include#include#include#includeusing namespace std;double a[101][4];double esp = 0.0000001;struct edge{ int u,v; double w;} e[5000];int原创 2013-08-05 15:11:12 · 1095 阅读 · 0 评论 -
zoj 1586 prim
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=586#include #include #define MAX 1000000int Edge[1010][1010];int adapter[1010];int lowcost[1010];int t,n;void init( ){原创 2013-08-05 15:11:14 · 1110 阅读 · 0 评论 -
zoj 2158 prim
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1158#include #include #include #define INF 1000000#define MAXN 2000int N;char codes[MAXN][10];int d[MAXN][MAXN];int lowco原创 2013-08-05 15:11:19 · 1016 阅读 · 1 评论 -
joj2410: The knight problem
#include#include#includeusing namespace std;typedef struct Point{ int x, y;}POINT;queue me;POINT Begin , End;bool visited[9][9];bool flag;int ans;int movei[8]= {2,-2,1,-1,2,-2,1,-1};原创 2013-07-20 01:34:37 · 1368 阅读 · 0 评论 -
uva 10405 Longest Common Subsequence
#include#include#includeusing namespace std;char str1[1002],str2[1002];int d[1002][1002];int main(){ while(gets(str1) && gets(str2)) { int len1=strlen(str1),len2=strlen(str2);原创 2013-06-13 22:47:42 · 975 阅读 · 0 评论 -
uva 706 LC-Display
/* LC-Display 蛋疼的模拟题 注意输出的特殊行,如第1行、第2到s+2行、 第s+3到2*s+2行、第2*s+3行,总共有2*s+3行,每一行输出的大小就可以根据s的大小控制了。 数字最大位数为8位*/#include #include #includeusing namespace std;#define MAXLENGTH 8void lcd_disp原创 2013-06-13 17:44:26 · 1554 阅读 · 0 评论 -
uva 10137 The trip
/*The trip注意特殊数据的处理,误差不超过0.01即可。*/#include#includeusing namespace std;double a[1005];int main(){ // freopen("./pcio/110103.inp","r",stdin); int n,i; while(~scanf("%d",&n)) {原创 2013-06-13 17:37:34 · 1324 阅读 · 0 评论 -
uva 10189 Minesweeper
/* Minesweeper WA了n次才知道uva格式错了也返回wa没有pe啊尼玛*/#include#include#includeusing namespace std;char a[105][105];int main(){ int i,j,n,m,x=0; //freopen("./pcio/110102.inp","r",stdin);原创 2013-06-13 17:36:41 · 1442 阅读 · 0 评论 -
uva 100 The 3n+1 problem
题目链接:http://www.programming-challenges.com/pg.php?page=studenthome/* The 3n+1 problem 计算每个数的循环节长度,求给定区间的循环节长度的最大值。*/#include#includeusing namespace std;int jk(int n){ int num=1;原创 2013-06-13 17:35:31 · 1380 阅读 · 0 评论 -
hdu1160--最长有序子序列
算法原理:数组a[]为待处理数组f[]用于记录a[]数组中,以对应位置数据为结尾的最长有序序列长度p[]用于记录a[]数组中,以对应位置数据为结尾的前一个数据位置使用position记录最大长度位置以a[]={1,4,7,2,5,8,3,6,9},计算最长递增有序子序列为例初始化f[]={1, 1, 1, 1, 1, 1, 1,1,1},p[]={0,1,2,3,4,5,6原创 2013-05-28 23:34:46 · 1987 阅读 · 0 评论 -
Codeforces Round #182 (Div. 2)
//A 好久没做了,5.1一过寝室不熄灯了,今天做了一场还是只做了2题。 弱。#include#includeusing namespace std;int a[200005],b[200005];int main(){ // freopen("1.txt","r",stdin); int n,m,numx=0,numy=0,x,y; cin>>n>>m;原创 2013-05-06 02:05:03 · 1651 阅读 · 0 评论 -
2013编程之美-测试赛
题目列表 > A + B时间限制: 1000ms 内存限制: 1024MB描述输入两个正整数A和B, 求A+B的值输入两个正整数A, B输出A+B的和对于小数据, 0 < A, B <= 10; 对于大数据, 0 < A, B <= 10100样例输入 2 3样例输出 5#include #include using namespace std;原创 2013-04-05 23:50:22 · 2122 阅读 · 0 评论 -
腾讯马拉松-大笨钟-hdu4530
#includeint main(){ int t; scanf("%d",&t); while(t--) { int i,x,q,t,k,p; double ans; scanf("%d",&x); scanf("%d",&q); for(i=0; i<q; i++)原创 2013-03-29 23:12:18 · 1262 阅读 · 0 评论 -
腾讯马拉松-为什么时光不能倒流-hdu4510
#includeint main(){ // freopen("1.txt","r",stdin); int n,h,m,s,h1,m1,s1; scanf("%d",&n); while(n--) { int h2=0,m2=0,s2=0; scanf("%d:%d:%d %d:%d:%d",&h,&m,&s,&h1,&m1原创 2013-03-22 22:01:21 · 1116 阅读 · 0 评论 -
腾讯马拉松-电梯里的爱情-hdu4505
#include#include using namespace std;int x[20];int main(){ //freopen("input.txt","r",stdin); int t,i,n; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0; i<原创 2013-03-21 21:09:54 · 984 阅读 · 0 评论 -
腾讯马拉松-减肥记I-hdu4508
#include #include #include #define max(x,y) x>y?x:y;int v[100001];int w[100001];int dp[100001];int main(){ int n,m; // freopen("input.txt","r",stdin); while(scanf("%d",&n)!=EOF)原创 2013-03-21 21:07:50 · 1156 阅读 · 0 评论 -
腾讯马拉松-屌丝的逆袭-hdu4500
#include#includeint x[21][21];int main(){ int i,j,n,m; // freopen("input.txt","r",stdin); while(scanf("%d%d",&n,&m)!=EOF) { int s[21][21]= {0}; if(m==0||n==0)原创 2013-03-21 14:14:38 · 1252 阅读 · 1 评论 -
高精度计算
// 高精度加法#include#includeusing namespace std;int* strtoint(char *str){ int i,len=strlen(str); int* a=new int[(len+1)*sizeof(int)]; for(i=0;i<len;i++) a[i]=(int)str[len-i-1]-48;原创 2013-02-19 00:38:57 · 1163 阅读 · 6 评论 -
AOV网络及拓扑排序
/* AOV网络及拓扑排序1、在有向无环图中,用顶点表示活动,用有向边表示活动u必须先与活动v,这种有向图叫AOV网络。2、若,则u是v的直接前驱,v是u的直接后继;若则称u是v的前驱,v是u的后继。3、前驱后继关系有传递性和反自反性。则可以推断AOV网络必须是有向无环图。4、拓扑排序实现方法: 1)从AOV网络中选择一个入度为0的顶点并输出; 2)从AOV网络原创 2013-02-18 12:25:41 · 1650 阅读 · 0 评论 -
Snakes & ladders Arab and North African Region,2002 BFS
//题目的大概意思是又N*N的棋盘,编号从1 到 N*N 棋盘中分布着蛇和梯子玩家在位置1处,//然后掷骰子,如果点数在梯子尾则顺着梯子到达梯子头,若掷到蛇头,则滑到蛇尾//问最快到达终点所需掷的次数...// 输入描述: 1表示1组数据,6 1 3分别表示棋盘大小,蛇的个数和梯子的个数//35 25 表示蛇的头和尾巴 最后一行表示各个梯子的头和尾/*16 1 335 25原创 2013-02-17 19:00:12 · 1155 阅读 · 0 评论