acm
文章平均质量分 58
心中有道
这个作者很懒,什么都没留下…
展开
-
南阳理工OJ_题目1036 非洲小孩
#include #include #include using namespace std;int cmp(void const *a, void const *b);int fun();struct data{ double b; double e;};data a[110];int n;int main(){ while(cin >>原创 2014-05-23 14:16:18 · 852 阅读 · 0 评论 -
南阳理工OJ_题目289 苹果
#include #include using namespace std;int n;int v;int d[1010];int main(){ while(cin >> n >> v, n+v) { int c, w; memset(d, 0, sizeof(d)); for(int i = 1; i <= n原创 2014-05-13 12:17:20 · 552 阅读 · 0 评论 -
南阳理工OJ_题目542 试 制 品
//ch1存储化学方程式,ch2存储已有试制品(前M个为输入的试制品)//left和right分别存储一个化学方程式的反应物和生成物//思路:检查ch1中每个方程式的反应物是否都在已有试制品中,//如都在,把生成物加入试制品,最后排序输出#include #include #include using namespace std;int cmp(const void *_a,原创 2014-04-12 19:15:00 · 635 阅读 · 0 评论 -
南阳理工OJ_题目195 飞翔
//找到最长单调递增子序列长度#include #include #include using namespace std;int cmp(const void *a, const void *b);void dp();struct data{ int x; int y;};int m;int n;int k;data a[1010];int d原创 2014-05-12 15:29:04 · 544 阅读 · 0 评论 -
南阳理工OJ_题目104 最大和
#include #include using namespace std;void dp();int r;int c;int a[110][110];int max_sum;int d[110][110];int main(){ int T; cin >> T; while(T--) { cin >> r >> c;原创 2014-05-12 17:14:51 · 1081 阅读 · 0 评论 -
南阳理工OJ_题目21 三个水杯
#include #include #include using namespace std;int bfs();struct data{ int v1; int v2; int v3; int d;};int v1, v2, v3;int x, y ,z;char vis[101][101][101];int main(){原创 2014-05-17 12:35:28 · 714 阅读 · 0 评论 -
南阳理工OJ_题目10 skiing
//最长单调递减序列变形#include #include using namespace std;int dp(int , int );int a[110][110];int d[110][110];int r;int c;int main(){ int T; cin >> T; while(T--) { cin >>原创 2014-04-24 17:54:12 · 628 阅读 · 0 评论 -
南阳理工OJ_题目546 Divideing Jewels
#include using namespace std;int a[15];int flag;int aaa;int sum;int V;int d[100010];int main(){ int co = 0; aaa = 0; sum = 0; for(int i = 1; i <= 10; i++) { cin原创 2014-05-16 10:12:28 · 576 阅读 · 0 评论 -
南阳理工OJ_题目18 The Triangle
#include using namespace std;int a[110][110];int d[110][110];int main(){ int n; cin >> n; for(int i = 1; i <= n; i++) for(int j = 1; j <= i; j++) cin >> a[i][j]原创 2014-04-24 15:01:42 · 795 阅读 · 0 评论 -
南阳理工OJ_题目49 开心的小明
#include #include using namespace std;int dp();struct data{ int v; int p;};int n;int m;data a[30];int d[30010];int main(){ int T; cin >> T; while(T--) {原创 2014-05-10 18:57:13 · 891 阅读 · 0 评论 -
南阳理工OJ_题目76 超级台阶
#include using namespace std;void dp();int d[110];int main(){ int T; cin >> T; dp(); while(T--) { int n; cin >> n; cout << d[n] << endl; }}v原创 2014-05-10 20:00:06 · 693 阅读 · 0 评论 -
南阳理工OJ_题目545 Metric Matrice
#include using namespace std;int n;int a[35][35];int main(){ int T; cin >> T; while(T--) { cin >> n; for(int i = 1; i <= n; i++) for(int j = 1; j <原创 2014-05-16 10:14:00 · 611 阅读 · 0 评论 -
南阳理工OJ_题目128 前缀式计算
//从后往前算#include #include #include using namespace std;void push_a(double& num);void pop_a(double& num);void push_op(char& c);void pop_op(char& c);double fun(double a, double b, char c);ch原创 2014-05-10 17:14:34 · 678 阅读 · 0 评论 -
南阳理工OJ_题目915 +-字符串
//遍历ch2,然后从ch1中找到第一次出现ch2[i]的位置,然后交换并计数#include #include using namespace std;void change(int , int);char ch1[5001];char ch2[5001];int main(){ int len; int num1; int num2; i原创 2014-04-24 14:44:37 · 780 阅读 · 0 评论 -
南阳理工OJ_题目82 迷宫寻宝(一)
//bfs #include #include #include using namespace std;bool bfs(int x, int y);struct data{ int x; int y;};int dx[4] = {-1, 1, 0, 0};int dy[4] = {0, 0, -1, 1};int m;int n;int s_原创 2014-05-16 11:07:33 · 1123 阅读 · 0 评论 -
0-1背包问题详解
0/1背包问题:有n件物品,每件物品i的重量为w[i],价值为v[i];有一个背包,最大承重量为c。要求向包中放入若干件物品,使的物品总重不超过背包承重量,且包中物品的总价值最大。 0-1背包问题可以用回溯法、搜索解空间法、动态规划法等。其中动态规划方法思想和实现都较为简单,时间复杂度也较低,因而比较常用。网上很多c或者c++的动态规划实现0-1背包的代码都是错误的。这里对该问题给转载 2014-04-23 16:59:48 · 2172 阅读 · 0 评论 -
南阳理工OJ_题目38 布线问题
//最小生成树 #include using namespace std;int prim();int v;int e;int g[505][505];int min_v;int main(){ int T; cin >> T; while(T--) { cin >> v >>e; for(int i = 0原创 2014-05-19 18:08:35 · 750 阅读 · 0 评论 -
南阳理工OJ_题目170 网络的可靠性
#include using namespace std;int main(){ int n; while(cin >> n) { int x, y; int a[10010] = {0}; for(int i = 1; i < n; i++) { cin >> x >> y;原创 2014-05-13 15:33:32 · 670 阅读 · 0 评论 -
南阳理工OJ_题目252 01串
/*dp[i]:表示i长度有多少个符合的串1、i位置为0,则dp[i-1]都符合2、i位置为1,则i-1位置只能填0,则dp[i-2]都符合所以状态转移方程:dp[i]=dp[i-1]+dp[i-2]*/#include using namespace std;int main(){ int T; int d[41]; d[0] = 0; d[1原创 2014-05-13 08:45:01 · 565 阅读 · 0 评论 -
南阳理工OJ_题目559 报数游戏
#include #include using namespace std;int fun(int n);int n, m, k;int a[700010];int p[110];int main(){ for(int i = 1; i <= 700000; i++) { if(fun(i)) a[i] = 1;原创 2014-05-22 17:33:50 · 568 阅读 · 0 评论 -
南阳理工OJ_题目558 一二三
#include #include using namespace std;int main(){ char ch[7]; int T; cin >> T; while(T--) { cin >> ch; if(strlen(ch) == 5) cout << 3 << '\n';原创 2014-05-22 17:32:45 · 535 阅读 · 0 评论 -
南阳理工OJ_题目1030 Yougth's Game[Ⅲ]
//定义状态dp[i][j]为从i到j上先取数者的得分,那么后取数者的得分就是sum(i,j)-dp[i][j]//状态转移方程: //t1 = a[i] + (sum[j] - sum[i] - d[i+1][j]);取a[i],在剩余的i+1--j中,b先取,b取得的为d[i+1][j]//t2 = a[j] + (sum[j-1] - sum[i-1] - d[i][j-1]);取a[原创 2014-05-22 09:20:22 · 611 阅读 · 0 评论 -
南阳理工OJ_题目832 合并游戏
#include #include using namespace std;int dfs(int cur);int n;int d[1<<11];int money[11][11];int main(){ while(cin >> n) { for(int i = 0; i < n; i++) for(int j =原创 2014-05-22 11:46:47 · 765 阅读 · 0 评论 -
南阳理工OJ_题目1023 还是回文
#include #include using namespace std;int dp();char ch[2010];int d[2010][2010];int m, n;int cost_add['z'+2];int cost_sub['z'+2];int main(){ while(cin >> n >> m) { cin >>原创 2014-05-21 20:41:23 · 540 阅读 · 0 评论 -
南阳理工OJ_题目745 蚂蚁的难题(二)&&题目983 首尾相连数组的最大子数组和
//这个题也有点坑,没考虑最大值为负的情况 #include using namespace std;long long fun();int n;long long a[50010];int main(){ while(cin >> n) { for(int i = 0; i < n; i++) cin >> a[i];原创 2014-05-21 15:49:06 · 610 阅读 · 0 评论 -
南阳理工OJ_题目236 心急的C小加&&ZOJ_1025 Wooden Sticks
#include #include using namespace std;int cmp(const void *a, const void *b);struct data{ int l; int w; int flag;};int main(){ int T; data a[5010]; a[0].l = a[0].w =原创 2014-05-01 20:06:25 · 511 阅读 · 0 评论 -
南阳理工OJ_题目37 回文字符串
//d[i][j]表示从i到j所需插入最少的字符 //状态转移方程: //ch[i] == ch[j] 时,d[i][j] = d[i+1][j-1] //ch[i] != ch[j] 时, d[i][j] = min( d[i+1][j], d[i][j-1] )#include #include using namespace std;int dp();char ch[原创 2014-04-28 23:47:17 · 763 阅读 · 0 评论 -
南阳理工OJ_题目20 吝啬的国度
#include #include #include #include using namespace std;void bfs();struct data{ int vis; int f;};vector g[100010];int n;int s;data a[100010];queue q;int main(){ int T;原创 2014-05-14 20:42:10 · 977 阅读 · 0 评论 -
南阳理工OJ_题目488 素数环
//这道题有点坑爹,注意shur#include using namespace std;bool is_prim(int n);void dfs(int cur);int prim[50];int a[25];int num;int n;int main(){ for(int i = 1; i <= 42; i++) if(is_prim(i)原创 2014-05-21 10:59:52 · 1144 阅读 · 0 评论 -
南阳理工OJ_题目995 硬币找零
//用一维的滚动数组,f[j]里保存的是f(i-1, j)的值 #include#includeusing namespace std;int f[100010], c, n, m;int min(int a, int b) {return a < b ? a : b; }int main(){ while(cin>>n>>m) { if(n==原创 2014-04-28 22:06:38 · 643 阅读 · 0 评论 -
南阳理工OJ_题目306 走迷宫
//搜索+二分//这道题还给了我一个教训:深搜时,先判断先一个结点是否满足条件,然后再深搜,这样程序要快很多!!! #include #include using namespace std;bool fun(int mid);void dfs(int x, int y, int l, int r);int dx[4] = {-1, 1, 0, 0};int dy[4] =原创 2014-05-14 13:54:31 · 741 阅读 · 0 评论 -
南阳理工OJ_题目42 一笔画问题
#include #include using namespace std;void dfs(int n);int a[1010];bool vis[1010];bool m[1010][1010];int P;int Q;int main(){ int T; cin >> T; while(T--) { int A, B原创 2014-05-13 14:45:27 · 968 阅读 · 0 评论 -
南阳理工OJ_题目746 整数划分(四)
//dp问题, 10^19, long long存储结果#include #include using namespace std;long long fun(int i, int j, int m);long long d[25][25][25];//记忆数组char n[25];//用字符数组存储n,方便处理int m;int main(){ int T;原创 2014-04-13 16:04:39 · 651 阅读 · 0 评论 -
南阳理工OJ_题目58 最少步数
#include #include #include using namespace std;int bfs();struct data{ int x; int y; int d; int vis;};char ch[11][11] = { "111111111", "100100101",原创 2014-05-13 08:23:21 · 984 阅读 · 0 评论 -
南阳理工OJ_题目456 邮票分你一半
//把邮票分值之和的一般作为背包的容量,尽可能的多装 #include #include using namespace std;int n;int a[1010];int d[50010];int S;int main(){ int T; cin >>T; while(T--) { cin >> n; int原创 2014-05-14 15:48:43 · 596 阅读 · 0 评论 -
UVaOJ_10405 - Longest Common Subsequence
Problem C: Longest Common SubsequenceSequence 1: Sequence 2: Given two sequences of characters, print the length of the longest common subsequence of both seq原创 2014-04-08 18:20:46 · 589 阅读 · 0 评论 -
南阳理工OJ_题目737 石子合并(一)
//和矩阵连乘一样 #include #include using namespace std;int dp();void fun();int a[210];int d[210][210];int sum[210][210];int n;int main(){ while(cin >> n) { for(int i = 1; i <=原创 2014-05-08 21:15:40 · 836 阅读 · 0 评论 -
南阳理工OJ_题目448 寻找最大数
//从前m+1位找到最大ch[i]的输出,然后再从i+1位到m+2位找到最大的//依次迭代,直至找到len-m位数 #include #include using namespace std;int main(){ int T; char ch[110]; int m; int len; int t; cin >> T; wh原创 2014-05-02 10:23:07 · 480 阅读 · 0 评论 -
南阳理工OJ_题目171 聪明的kk
#include #include using namespace std;int dp(int , int );int a[25][25];int d[25][25];int m;int n;int main(){ cin >> n >> m; for(int i = 1; i <= n; i++) for(int j = 1; j <=原创 2014-04-17 07:44:46 · 533 阅读 · 0 评论 -
南阳理工OJ_题目14 会场安排问题
#include #include using namespace std;int cmp(const void *a, const void *b);struct data{ int b; int e; //int flag;};int main(){ int T; cin >> T; data a[10010];原创 2014-05-01 18:49:24 · 576 阅读 · 0 评论