IT民工
加油!
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 29 下一页
摘要: 上面给出a个点,下面给出b个点,上面的每一个点跟下面的给一个点都有连线,求连线的交点数。#include<stdio.h>long long a, b;int main(){ int cas = 0; while( scanf( "%lld%lld", &a, &b), a && b) { printf( "Case %d: %lld\n", ++ cas, b*(b-1)*a*(a-1)/4); } return 0;} 阅读全文
posted @ 2011-12-06 21:15 找回失去的 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个n*m(6<=n,m<=10000)的矩阵,一个点能覆盖它本身和它周围的8个点,问你要多少个点能把矩形完全覆盖(矩形的边缘不用覆盖。)#include<stdio.h>int main(){ int cas; scanf( "%d", &cas); while( cas --) { int n, m; scanf( "%d%d", &n, &m); printf( "%d\n", (int)(n / 3) * ( m / 3)); } return 0;} 阅读全文
posted @ 2011-12-06 20:36 找回失去的 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 这道题要求罢工的天数,看图看了好久才明白题意,我们用数组模拟,输入的h1这些都是罢工的周期,然后在周五和周六的不算,因为不上班,将其他时间的罢工天数加起来就是题目要我们输出的结果。#include<cstdio>#include<string.h>const int MAXN = 3657;bool d[MAXN];int main(){ int T; scanf( "%d", &T); while( T --) { int n, p; scanf( "%d%d", &n, &p); memset( d, 阅读全文
posted @ 2011-12-06 20:05 找回失去的 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 模拟染色,因为只有两种颜色,所以分别用 0、 1 代表这两种颜色,然后从0开始深搜,如果每个点都能染上色,且相邻两点的颜色不同,则符合要求。#include<stdio.h>#include<string.h>#define MAXN 210int map[MAXN][MAXN];int paint[MAXN];int u, v, M, N;bool dfs( int i, int color){ for( int j = 0; j < N; j ++) { if( map[i][j]) { if( paint[j] != -1 &... 阅读全文
posted @ 2011-12-06 18:54 找回失去的 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 这道题要尽可能的多吃Krusty- burger,尽可能的少浪费时间,也是背包问题。#include<stdio.h>#include<string.h>#define MAXT 10005int a[2], t[MAXT], cnt[MAXT];int T;void dp(){ memset( t, 0, sizeof t); memset( cnt, 0, sizeof cnt); for( int i = 0; i < 2; i ++) for( int j = a[i]; j <= T; j ++) { if( t[ ... 阅读全文
posted @ 2011-12-05 22:15 找回失去的 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 用一个bool数组d,stan和ollie每次取石头时都要想办法让对方输,所以当剩下的石头i,当i大于 a[j] 时,他们都会想办法使对方陷入失败,即使得d[ i - a[j] ]为false。直到取完所有的石头,d[N]为true就是先取的人赢。#include<stdio.h>#include<string.h>#define MAXN 1000005#define MAXM 15int N, M, a[MAXM];bool d[MAXN];void init(){ for( int i = 0; i <= N; i ++) { d[i] = false; . 阅读全文
posted @ 2011-12-05 20:45 找回失去的 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 这道题以前写过,首先block可以摆成三种形式,要求堆在它上面的木块的长和宽都比它小,所以我先将木块根据长的一级升序,宽的二级升序排序,然后枚举一遍在一块木块上可以堆的高度,选择最高的加上,最后找到一个最大高度。#include<stdio.h>#include<stdlib.h>#define MAXD 100typedef struct a{ int x, y, z;}S;S d[MAXD];int N, maxh;int cmp( const void *_p, const void *_q){ S *p = (S *)_p; S *q = (S *)_q; if 阅读全文
posted @ 2011-12-05 19:53 找回失去的 阅读(428) 评论(0) 推荐(1) 编辑
摘要: 这道题要求我们找到一个满足体重是升序,智商是降序的最长的序列。首先将大象的体重做升序排序,这样我们就只要找到排序后的序列的关于智商的最长下降子序列。为了方便操作,定义一个结构体,包含 体重、 智商、 编号。还有定义一个数组来模拟链表,数组存的是点的父节点,然后用输出路径的函数将路径输出。这道题输入比较奇葩,而且我们检查是否正确也会比较麻烦。#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXD 1005typedef struct aa{ int w; int s; int r;}E 阅读全文
posted @ 2011-12-05 18:28 找回失去的 阅读(265) 评论(0) 推荐(1) 编辑
摘要: 为了让父母都满意,所以只能选择他们给的建议中的相同的序列,即最长公共子序列,求长度并输出。#include<stdio.h>#include<string.h>#define MAXD 105char a[MAXD], b[MAXD];int f[MAXD][MAXD], len1, len2;int max( int a, int b){ return a > b ? a : b;}void dp(){ len1 = strlen( a + 1), len2 = strlen( b + 1); memset( f, 0, sizeof f); for( int 阅读全文
posted @ 2011-12-04 23:51 找回失去的 阅读(241) 评论(0) 推荐(1) 编辑
摘要: 这道题看了标程后应该用归并排序做的,但是我用了qsort,qsort不是稳定排序,但是我用的是结构体,然后加上了一个标记,所以也符合题目要求第一关键值相同情况下不改变原数组次序#include<stdio.h>#include<stdlib.h>#define MAXD 100005typedef struct aa{ int a; int b; int f;}S;S t[MAXD];int N;int cmp( const void *_p, const void *_q){ S *p = ( S *)_p; S *q = ( S *)_q; if( p-... 阅读全文
posted @ 2011-12-04 10:57 找回失去的 阅读(288) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 29 下一页