| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1255 人关注过本帖
标题:挑战TJU1031
只看楼主 加入收藏
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
结帖率:50%
收藏
 问题点数:0 回复次数:17 
挑战TJU1031

http://acm.tju.edu.cn/toj/showp1031.html
比代码短,我的代码是1.0K,自认为非常精短
--------------------------------------------------------------------------------
Judge Status Prob. Lang. Code Time Memory User
Accepted 1031 C++ 1.0K 0:00.00 672K lecoo

搜索更多相关主题的帖子: 挑战 
2007-07-11 01:29
stupid_boy
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-6
收藏
得分:0 

用了672K的内存.....

鄙人用两种方法做了..一种用了16K内存,一种用了144K内存 也都是0MS

非常有兴趣拜读楼主大人的1K代码..请楼主发给我观摩一下.

感激不尽...


失眠。。。
2007-07-11 10:46
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
回复:(stupid_boy)用了672K的内存.....鄙人用两种方...

你用了16K内存?不敢相信啊,贴上来看看
[UserName=stupid_boy]

程序代码:

#include <stdio.h>

#define PC(x) putchar(x)
#define PCD(x,y) putchar(digits[ch-'0'][x]?y:' ')

int digits[10][7]={1,0,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,0,1,1,0,1,1,1,0,1,0,1,0,1,0,1,
1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,1,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,};

void out(int s,char ch,int k)
{
switch(k){
case 0:
case 2:
case 4:
PC(' ');
for(int i=0;i<s;i++){
PCD(k/2,'-');
}
PC(' ');
break;
case 1:
case 3:
PCD(k+2,'|');
for(int i=0;i<s;i++){
PC(' ');
}
PCD(k+3,'|');
break;
}
}

void out(int s,char* str,int suit)
{
out(s,*str,suit);
for(char *p=str+1;*p;p++){
PC(' ');
out(s,*p,suit);
}
}

int main()
{
char buf[100];
int s;
while(scanf(\"%d %s\",&s,buf)!=EOF && s){
out(s,buf,0);
PC('\n');
for(int i=0;i<s;i++){
out(s,buf,1);
PC('\n');
}
out(s,buf,2);
PC('\n');
for(int i=0;i<s;i++){
out(s,buf,3);
PC('\n');
}
out(s,buf,4);
PC('\n');
PC('\n');
}
}


[/UserName]

2007-07-11 15:34
stupid_boy
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-6
收藏
得分:0 
回复:(leeco)挑战TJU1031
PKU上面memory是16k,这个是比较好的方法

[UserName=leeco]

#include <stdio.h>
#include <string.h>

int code[5][30]=
{
{0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0},
{1,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,1,1,0,1,1,0,1},
{0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0},
{1,0,1,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1,0,0,1,1,0,1,0,0,1},
{0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0}
};

int main()
{
int i,j,m,n,k,k1,posS;
char s[9];
while(1){
scanf("%d",&n);
scanf("%s",&s);
if(n==0&&strcmp(s,"0")==0)break;

for(i=0; i<5; i++)
{
if(!(i%2))
{
for(posS=0; s[posS]!='\0'; posS++)
{
for(m=0,j=(int)(s[posS]-'0')*3; m<3; m++,j++)
{
if((j%3==0||(j+1)%3==0)&&(i%2==0))
printf(" ");
else
{
for(k=0; k<n; k++)
{
if(code[i][j]) printf("-");
else printf(" ");
}
}
}
printf(" ");
}
printf("\n");
}
else
{
for(k=0; k<n; k++)
{
for(posS=0; s[posS]!='\0'; posS++)
{
for(m=0,j=(int)(s[posS]-'0')*3; m<3; m++,j++)
{
if(j%3==0||(j+1)%3==0)
{
if(code[i][j]) printf("|");
else printf(" ");
}
else
for(k1=0; k1<n; k1++)
printf(" ");
}
printf(" ");
}
printf("\n");
}
}
}
printf("\n");
}

return 0;
}

[/UserName]

失眠。。。
2007-07-11 15:45
stupid_boy
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-6
收藏
得分:0 
回复:(leeco)挑战TJU1031
[UserName=leeco]144k那个是最笨的方法, 用数组做的..一点技术都没有,纯粹的体力劳动

我就不发那个了.

随便问一下.你是哪个大学的?大几了?

我写的代码很长.今天看了你的代码,有收获!![/UserName]

失眠。。。
2007-07-11 15:50
stupid_boy
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-6
收藏
得分:0 

leeco你的代码我复制到VC里面运行不了.....


失眠。。。
2007-07-11 15:59
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 

你是在存的时候就分成了"顶行","上段","中行","下段","底行"这五个部分?

2007-07-11 16:02
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
回复:(stupid_boy)leeco你的代码我复制到VC里面运行...
你在C++的编译器上编译吧,可能是我for(int...)这样的语法写习惯了,我一直是用C++的
哦对还重载了一个out函数

[此贴子已经被作者于2007-7-11 16:05:58编辑过]

2007-07-11 16:04
stupid_boy
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-6
收藏
得分:0 
以下是引用leeco在2007-7-11 16:02:56的发言:

你是在存的时候就分成了"顶行","上段","中行","下段","底行"这五个部分?

饿.
code数组里面就是这样了
饿.


失眠。。。
2007-07-11 16:09
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
回复:(stupid_boy)回复:(leeco)挑战TJU1031
上海师范大学,将要大三了
2007-07-11 16:30
快速回复:挑战TJU1031
数据加载中...
 
   



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

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