今天做了一天的水题
http://acm.hdu.edu.cn/showproblem.php?pid=1081 二维的最大子序列
int data[1025][1025],value[1025];
int maxFun(int n)
{
int max,result= INT_MIN,i;
for(max = 0,i = 0 ; i < n ; i ++)
{
max +=value[i];
if(max > result)
result = max;
if(max < 0)
max = 0;
}
return result;
}
using namespace std;
int main()
{
// freopen("in.txt","r",stdin);
int i,j,k,T,max,maxResult;
while(scanf("%d",&T)!=EOF)
{
for(i = 0; i < T ; i ++)
for(j = 0; j < T; j ++)
scanf("%d",&data[i][j]);
max = 0; maxResult = INT_MIN;
for(i = 0; i < T; i ++)
{
memset(value,0,sizeof(value));
for(j = i ; j < T ; j ++)
{
for(k = 0; k < T; k ++)
value[k] +=data[j][k];
max = maxFun(T);
if(max > maxResult)
maxResult = max;
}
}
printf("%d\n",maxResult);
}
return 0;
}
http://acm.hdu.edu.cn/showproblem.php?pid=1062字符串翻转
int main()
{
int T,i,len,j;
char c,str[1000],result[1000];
scanf("%d",&T);
getchar();
while(T--)
{
gets(str);
len = strlen(str);
//strcpy(result," ");
for(j = 0,i = 0 ; i < len; i ++)
{
if(str[i] == ' ')
{
result[j] = '\0';
printf("%s ",strrev(result));
j = 0;
}
else if(i == len - 1)
{
result[j++] = str[i];
result[j] = '\0';
printf("%s",strrev(result));
}
else
{
result[j++] = str[i];
}
}
printf("\n");
}
return 0;
}
http://acm.hdu.edu.cn/showproblem.php?pid=1060这里是要用到 对于任意的数num 都可表示为 10^(a +b) 其中a>1 b < 1 且 10^b 的有效数字就是num 的有效数字
给出一个n 求n^n 的最开始的数
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int m,n,i,ans;
double a,b;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&m);
//a = m*log10(m*1.0);
b=m*log10(m*1.0)-(__int64)(m*log10(m*1.0));
b=pow((double)10,b);
ans=(int)b;
printf("%d %d\n",(int)a,ans);
}
return 0;
}
posted on 2010-08-09 17:49
付翔 阅读(100)
评论(0) 编辑 收藏 引用 所属分类:
ACM 数据结构