| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:关于ACM题目 有什么好建议吗
只看楼主 加入收藏
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
关于ACM题目 有什么好建议吗
最近参加了比赛 题目是ACM题目  就算能拿到结果也不能AC通过  时间限制和内存都不是限制我遇到的问题
问题是 我输出的格式 好像老是不符合
就我刚写的 大数加法运算吧  因为为了节省空间 。。下面代码很乱 建议别看  请问有什么好方法可以让自己的代码被AC通过
#include <stdio.h>
#include <string.h>
#define MAX(i,j) (i >= j ? number1 :number2)  //这两个的作用是 为了节省空间 把number1 number2两者的数据加法合
#define max(i,j) (i >= j ? i : j)             //放入较大数据的一组 所以得用这两个来改变变化的变量
#define hen(i,j) (MAX(i,j)[max(i,j)])
int main ()
{
char number1[1001],number2[1001],sum,ad = ' ';                   //1000位的大数
int n,i,j,k1,l=1;
scanf ("%d",&n);
while (n-- && scanf ("%s%s",&number1,&number2) != EOF )
 {
  printf ("case %d: %s + %s ",l++,number1,number2);
  for ( j = strlen(number2) - 1,i = strlen(number1) - 1; i>=1 && j>=1; i--,j--) //先考虑到最大数字前1位的情况
   {
     sum = number1[i] + number2[j] -48;
     (sum > '9' +10)? (MAX(i,j)[max(i,j)-1] += 2,hen(i,j) = sum - 20) : ((sum > '9')?(MAX(i,j)[max(i,j)-1]++,hen(i,j) = sum - 10):(hen(i,j) =sum));
   }
  if (i == j)
  {
    sum = number1[0] + number2[0] - 48;
    (sum > '9'+10) ? (MAX(i,j)[0] = sum -20,ad = '2') : ((sum > '9') ? (ad = '1',MAX(i,j)[0] = sum -10) :( MAX(i,j)[0] = sum));
    printf (" = %c%s\n",ad,number1);
  }
  else
  {
     k1 =max(i,j);
     sum = MAX(j,i)[0] + MAX(i,j)[max(i,j)] - 48;
     (MAX(i,j)[k1] > '9'+10) ? (MAX(i,j)[--k1] += 2, MAX(i,j)[k1+1] = sum -10) : ((MAX(i,j)[k1] > '9') ? (MAX(i,j)[--k1] += 1,MAX(i,j)[k1+1] = sum -10) : (MAX(i,j)[k1] = sum));
     for (; k1>=0; k1--)
         (MAX(i,j)[k1] >'9'+10) ? (MAX(i,j)[k1-1] += 2,MAX(i,j)[k1] -= 20) : (MAX(i,j)[k1] > '9' ? (MAX(i,j)[k1-1] += 1,MAX(i,j)[k1] -= 10) :n);
     (MAX(i,j)[0] >'9' +10) ? (ad = '2',MAX(i,j)[0] -= 20) : (MAX(i,j)[0] > '9' ? (MAX(i,j)[k1] -= 10,ad = '1') : n);
     printf ("= %c%s\n",ad,MAX(i,j));
  }
 }
 return 0;
}
搜索更多相关主题的帖子: 空间 数据 include 
2012-03-15 20:40
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:20 
不小心看了

技术问题,请不要以短消息方式提问
2012-03-15 23:37
快速回复:关于ACM题目 有什么好建议吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014663 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved