随笔分类 - c语言
摘要:所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。#include<cstdio>#include<iostream>#include<cstdlib>#include<cstring>using namespace std;int f[1001][1001];char s[1001];int main(){ int n; int
阅读全文
摘要:不知道是哪里出了错~~~~~~~~~ 答案是正确的 可是就是提交不上去#include<stdio.h>#include<stdlib.h>int main(){ int m,n;//m 实验的次数,n 实验的仪器的个数 int b[102][2];//0表示的是仪器的价格,1 表示的是 是否使用 int a[502][502];//a[i][0]表示的是付出的价格,a[1]表示的是进行循环的次数 int c[502];//表示的是尽职数 int d[502];//表示这个实验是否选择去做 int e[502];//表示已经选择的机器 int f[502];//用来存储
阅读全文
摘要:问题描述:73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and ends somewhere on the base. Each step can go either diagonally down to the left or diagonally down to the right.#include&l
阅读全文
摘要:问题描述:求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4#include<stdio.h>#include<string.h>int main(){ int t,i; int n; char s[100002]; int a[100002]; scanf("%d",&t); while(t--) { scanf("%s",s); n=strlen(s); for(i=0;i<n;i++) { int max=0; for(int j=i-1;j>=0;j--) { if(
阅读全文
摘要:问题描述: 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h># define maxn 1000int cmp(const
阅读全文
摘要:给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的#include<stdio.h>#include<stdlib.h>#include<string.h>#define min(x,y) (x<y?x:y)#define low(x,y) ((x=='(')&& y==')' || (x=
阅读全文
摘要:这个属于动态规划的问题,其实就是把以前所经历过的节点给保存起来,等到下次计算的时候不再进行分值的遍历了,而是直接的进行使用。#include<stdio.h>#include<string.h>#define MAX 101int height[MAX][MAX];int tem[MAX][MAX];int r,c;int dir[4][2]={-1,0,1,0,0,1,0,-1};int main(){ int dfs(int x,int y); int t; int i,j,res; scanf("%d",&t); while(t--)
阅读全文
摘要:在实际的情况中我们可能会遇到这样的问题需要遍历n个节点,可是么个节点的方向都不是相同的,因此可以使用下面的方式:总的思想是将他们转化为进制数的问题。也就是说每个节点的进制数不尽相同。然后从0遍历所有的可能,转化为要求的进制数就可以了。然后判断可能即可。#include<stdio.h>int main(){int time,i,j,k;int m,v,tem;int a[2000],b[2000],c[2000];int d[2000],e[2000];//jin zhi shuint w,c1;scanf("%d",&time);for(k=0;k&l
阅读全文

浙公网安备 33010602011771号