付翔的专栏
在鄙视中成长 记录成长的点滴
posts - 106,  comments - 32,  trackbacks - 0

今天做了一天的水题

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 数据结构

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

CSDN - 我的blog地址

博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜