| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2140 人关注过本帖
标题:[讨论]最新ACM考试题目,全球同时进行考试下午4 点半结束
只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
第二个n(1<=n<=26),如果用回朔法应该会Time Limit Exceeded.还有回朔处理同一字符挺麻烦的.
用交换可能更快.
还没想到好办法,期待ing...

倚天照海花无数,流水高山心自知。
2007-04-28 21:34
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
第三题
找所有顶点单源最短路径中的最短距离.
这个比较简单.用Dijkstra算法就可以了.

倚天照海花无数,流水高山心自知。
2007-04-28 21:38
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

第四题

计算机要运行处理n个等待进程(任务)(依次标记为1,2,3...).完成进程i需要Ti个CPU时间,你的任务就是找出一个方法使得在规定的时间T内能够处理完最多的进程.如果方法不止一种,则找在时间T内使用CPU时间最大的那个.
输入:
第一行包含一个整数(在1和100之间),表示几组测试数据.每组测试数据的第一行包括两个整数n,T代表n个进程和时间T.你必须完成最多的进程和使用最大的CPU时间.第二行表示要完成这n组进程分别发费的时间.所有的数都是整数.

输出:
对每组测试数据,每行输出最多的进程数和最大的CPU使用时间,两个数用一个空格隔开.每组测试数据一行.


倚天照海花无数,流水高山心自知。
2007-04-28 21:56
kongyuehen
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-4-6
收藏
得分:0 

第一题做错了

2007-04-28 22:50
kongyuehen
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-4-6
收藏
得分:0 

麻烦看一下:以下程序错 在了哪里?
#include <stdio.h>
#define MAX 54
void main()
{
char p;
int i,j,x;
float m=0,k=0;
char str[1024][MAX];
scanf("%d",&i);
printf("\n");
for(j=1;j<=i;j++)
scanf("%s",str[j]);
for(j=1;j<=i;j++)
{
p=str[j][0];
while(p!='\0')
{
while(p!=',')
{k++;m++;
p=str[j][m];
if(p=='\0') goto loop;
}
m++;
k=k*8;
p=str[j][m];
}
loop: printf("%f\n",k);
}
}

2007-04-28 22:54
kongyuehen
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-4-6
收藏
得分:0 
为什么当i=1时任何|数据都是正确的,而i>1时只有最后一个是正确的??????郁闷啊
2007-04-28 22:58
iwfy
Rank: 1
等 级:新手上路
威 望:2
帖 子:888
专家分:0
注 册:2007-2-23
收藏
得分:0 
第二题 直接输入字符串
#include "stdio.h"
#include "string.h"
char s[26];
int j=0,sz[26]={0},i,cx[26],l,x=0,sum=0,max=0;
void fn(int);
int main()
{
int xh,xh2;
char temp;
while(scanf("%s",s)!=EOF)
{
l=0;
x=0;
sum=max=0;
j=strlen(s);
for(xh=0;xh<j-1;xh++)
{
for(xh2=xh+1;xh2<j;xh2++)
if(s[xh]>s[xh2])
{
temp=s[xh];
s[xh]=s[xh2];
s[xh2]=temp;
}
}
fn(j);
for(xh=0;xh<10;xh++)sz[xh]=0;
printf("\n");
}
return 0;
}
void fn(int n)
{
int xh1,b=0;
while(sz[b]==1 && b<j) b++;
if(n==1 && l==j-1)
{
cx[l]=b;
if(x!=0)
{
printf("\n");
}
else x=1;
for(xh1=0;xh1<j;xh1++)printf("%c ",s[cx[xh1]]);
return ;
}
while(b<j)
{
sz[b]=1;
cx[l]=b;
sum+=s[b];
l++;
if(sum>max)
{
fn(n-1);
max=sum;
}
l--;
sum-=s[b];
sz[b]=0;
b++;
while(sz[b]==1 && b<j)b++;
}
}

[此贴子已经被作者于2007-4-28 23:25:01编辑过]


英语不好还想学编程??逆天之路,不由分说!! 数学太差还想学编程??离经叛道,义无返顾!!
2007-04-28 23:22
lizhijie
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-4-28
收藏
得分:0 
好题目!太精彩了,有志者可以试试,感觉有点难度的。

2007-04-29 19:10
lizhijie
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-4-28
收藏
得分:0 
回复:(iwfy)第二题 直接输入字符串#include

少了很多功能啊,不合格!


2007-04-29 20:17
iwfy
Rank: 1
等 级:新手上路
威 望:2
帖 子:888
专家分:0
注 册:2007-2-23
收藏
得分:0 
偷了个懒,没按题目要求的输入输出格式,在哪里提交,还不知道能不能通过呢

英语不好还想学编程??逆天之路,不由分说!! 数学太差还想学编程??离经叛道,义无返顾!!
2007-04-30 16:44
快速回复:[讨论]最新ACM考试题目,全球同时进行考试下午4 点半结束
数据加载中...
 
   



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

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