online judge论坛-acm-icpc-[第01篇]acm-icpc竞赛之基础篇.htm
来自「stl跟 acm的关系」· HTM 代码 · 共 853 行 · 第 1/5 页
HTM
853 行
MagicFaceUrl = "Dv_plus/tools/magicface/swf/" + MagicID + ".swf";
document.getElementById("MagicFace").innerHTML = '<OBJECT codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + W + '" height="' + H + '"><PARAM NAME=movie VALUE="'+ MagicFaceUrl +'"><param name=menu value=false><PARAM NAME=quality VALUE=high><PARAM NAME=play VALUE=false><param name="wmode" value="transparent"><embed src="' + MagicFaceUrl +'" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="' + W + '" height="' + H + '"></embed>';
document.getElementById("MagicFace").style.top = (document.body.scrollTop+((document.body.clientHeight-300)/2))+"px";
document.getElementById("MagicFace").style.left = (document.body.scrollLeft+((document.body.clientWidth-480)/2))+"px";
document.getElementById("MagicFace").style.visibility = 'visible';
MagicID += Math.random();
setTimeout("MM_showHideLayers('MagicFace','','hidden')",5000);
NowMeID = MagicID;
}
//-->
</SCRIPT>
<table cellpadding=0 cellspacing=0 border=0 width="98%" align="center">
<tr>
<td align="left" width="35%" valign="middle" nowrap>
<a href="post.asp?action=new&boardid=9"><img src="Skins/Default/postnew.gif" border="0" alt="发表一个新帖子"></a> <a href="post.asp?action=vote&boardid=9"><img src="Skins/Default/votenew.gif" border="0" alt="发起一个新投票"></a> <a href="post.asp?action=re&BoardID=9&ID=33&star=1&page=1"><img src="Skins/Default/mreply.gif" border="0" alt="回复本主题"></a>
</td>
<td align="right" width="65%" valign="middle" nowrap>您是本帖的第 <B>305</B> 个阅读者</td>
</tr>
</table>
<TABLE cellPadding=0 cellSpacing=0 align=center class=tableborder4>
<tr>
<th align=left valign=middle width="70%" height=25>
标题:<font color=red>[第01篇]ACM/ICPC竞赛之基础篇</font> </th>
<th align=right width="30%" id=nobold>
<a href="?BoardID=9&replyID=33&id=33&skin=1" title="树形显示贴子">树形</a>
<a href="TopicOther.asp?t=5&BoardID=9&id=33" target=_blank title="打印本贴内容">打印</a>
<a href="favlist.asp?action=add&BoardID=9&id=33" title="将本贴加入论坛收藏夹">收藏</a>
<a href="TopicOther.asp?t=7&BoardID=9&id=33" title="推荐本贴给好友">推荐</a>
</th>
</tr>
</table><Script Language=JavaScript>var star='1';var alertcolor='#FF0000';var Board_Setting27='10';var TopicNum='5';var TotalUseTable='dv_bbs1';var GetMoneyType=0;var GroupUserName = new Array(); GroupUserName[1]='<b><font color="#FF0000">§</font></b>';GroupUserName[2]='<font color=#DA2549 face="Verdana"><b>§</b></font>';GroupUserName[3]='<font color=#DA2549 face="Verdana"><b>§</b></font>';GroupUserName[4]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[5]='§';GroupUserName[6]='§';GroupUserName[7]='§';GroupUserName[8]='<font color=#DA2549 face="Verdana"><b>§</b></font>';GroupUserName[9]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[10]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[11]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[12]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[13]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[14]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[15]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[16]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[17]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[18]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[19]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[20]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[21]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[22]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[23]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[24]='<font color="#61B713" face="Verdana"><b>§</b></font>';GroupUserName[25]='<font color="#61B713" face="Verdana"><b>§</b></font>';</Script>
<script type="text/javascript" language="javascript">
var mstr=new Array();
function astro(birth)
{
if (birth!='')
{ var tmpstr;
var bstr;
var mm;
var yy;
var dd;
var birthmonth;
tmpstr=birth.split(' ')
bstr=tmpstr[0]
tmpstr=bstr.split('-')
yy=(tmpstr[0]*1)
mm=(tmpstr[1]*1)
dd=(tmpstr[2]*1)
switch(mm){
case 1 :
if(dd>=21){return('<img src=Skins/Default/birth/z11.gif alt=水瓶座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z10.gif alt=魔羯座'+mm+'-'+dd+'>');}
break;
case 2 :
if(dd>=20){return('<img src=Skins/Default/birth/z12.gif alt=双鱼座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z11.gif alt=水瓶座'+mm+'-'+dd+'>');}
break;
case 3 :
if(dd>=21){return('<img src=Skins/Default/birth/z1.gif alt=白羊座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z12.gif alt=双鱼座'+mm+'-'+dd+'>');}
break;
case 4 :
if(dd>=21){return('<img src=Skins/Default/birth/z2.gif alt=金牛座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z1.gif alt=白羊座'+mm+'-'+dd+'>');}
break;
case 5 :
if(dd>=22){return('<img src=Skins/Default/birth/z3.gif alt=双子座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z2.gif alt=金牛座'+mm+'-'+dd+'>');}
break;
case 6 :
if(dd>=22){return('<img src=Skins/Default/birth/z4.gif alt=巨蟹座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z3.gif alt=双子座'+mm+'-'+dd+'>');}
break;
case 7 :
if(dd>=23){return('<img src=Skins/Default/birth/z5.gif alt=狮子座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z4.gif alt=巨蟹座'+mm+'-'+dd+'>');}
break;
case 8 :
if(dd>=24){return('<img src=Skins/Default/birth/z6.gif alt=处女座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z5.gif alt=狮子座'+mm+'-'+dd+'>');}
break;
case 9 :
if(dd>=24){return('<img src=Skins/Default/birth/z7.gif alt=天秤座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z6.gif alt=处女座'+mm+'-'+dd+'>');}
break;
case 10 :
if(dd>=24){return('<img src=Skins/Default/birth/z8.gif alt=天蝎座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z7.gif alt=天秤座'+mm+'-'+dd+'>');}
break;
case 11 :
if(dd>=23){return('<img src=Skins/Default/birth/z9.gif alt=射手座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z8.gif alt=天蝎座'+mm+'-'+dd+'>');}
break;
case 12 :
if(dd>=22){return('<img src=Skins/Default/birth/z10.gif alt=魔羯座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z9.gif alt=射手座'+mm+'-'+dd+'>');}
break;
default : return('');
}
}else{return('');}
}
function usercolor(UserGroupID,UserName)
{
UserGroupID = parseInt(UserGroupID);
var UserNameStyle=GroupUserName[UserGroupID].split("§");
return(UserNameStyle[0]+UserName+UserNameStyle[1]);
}
</script>
<a name="129" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"></a><table cellPadding="5" cellSpacing="1" align="center" class="tableborder1" style="table-layout:fixed;word-break:break-all" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<tr>
<td class="tablebody1" valign="top" width="175">
<table width="100%" cellpadding="4" cellspacing="0">
<tr>
<td width="*" valign="middle" style="filter:glow(color=#9898BA,strength=2)"> <script type="text/javascript" language="javascript">document.write (usercolor('1','Teacher彭'));</script></td>
<td width="25" valign="middle"><img src="Skins/Default/ofMale.gif" alt="帅哥哟,离线,有人找我吗?"></td>
<td width="16" valign="middle"><script type="text/javascript" language="javascript">document.write (astro(''));</script></td>
</tr>
</table> <img src="Images/userface/image1.gif" width="32" height="32"><br> <img src="Skins/Default/star/level20.gif"><br> 等级:管理员<br> 文章:801<br> 积分:6804<br> 注册:2005-09-02</td>
<td class="tablebody1" valign="top" height="100%">
<table width="100%" height="30">
<tr>
<td width="*" align="absmiddle"><a href="http://wpa.qq.com/msgrd?V=1&Uin=515957164&Site=By Dvbbs&Menu=yes" title="点击发送QQ消息给Teacher彭" target="_blank"><img src="http://wpa.qq.com/pa?p=1:515957164:4" border="0" width="16" height="16" align="absmiddle"></a> <a href="http://wpa.qq.com/msgrd?V=1&Uin=515957164&Site=By Dvbbs&Menu=yes" title="点击发送QQ消息给Teacher彭">QQ</a> <a href="messanger.asp?action=new&touser=Teacher%C5%ED" target="_blank"><img src="Skins/Default/message.gif" border="0" alt="给Teacher彭发送一个短消息" align="absmiddle"></a> <a href="friendlist.asp?action=addF&myFriend=Teacher%C5%ED" target="_blank"><img src="Skins/Default/friend.gif" border="0" alt="把Teacher彭加入好友" align="absmiddle"></a> <a href="dispuser.asp?id=2" target="_blank"><img src="Skins/Default/profile.gif" border="0" alt="查看Teacher彭的个人资料" align="absmiddle"></a> <a href="query.asp?stype=1&nSearch=3&keyword=Teacher%C5%ED&BoardID=9&SearchDate=ALL" target="_blank"><img src="Skins/Default/find.gif" border="0" alt="搜索Teacher彭在的所有贴子" align="absmiddle"></a> <a href="mailto:pengsw@mail.buct.edu.cn"><img alt="点击这里发送电邮给Teacher彭" border="0" src="Skins/Default/email.gif" align="absmiddle"></a> <a href="http://coder.buct.edu.cn" target="_blank"><img alt="访问Teacher彭的主页" border="0" src="Skins/Default/homepage.gif" align="absmiddle"></a><a href="post.asp?action=re&BoardID=9&replyID=129&id=33&star=1&reply=true"><img src="Skins/Default/reply.gif" border="0" alt="引用回复这个贴子" align="absmiddle"></a> <a href="post.asp?action=re&BoardID=9&replyID=129&id=33&star=1"><img src="Skins/Default/reply_a.gif" border="0" alt="回复这个贴子" align="absmiddle"></a></td>
<td width="70" align="right"> 楼主</td>
</tr>
<tr>
<td height="1" colspan="3" class="singleborder"></td>
</tr>
<tr>
<td height="2" colspan="3"></td>
</tr>
</table>
<table border="0" align="center" width="95%" height="85%" style="table-layout:fixed;word-break:break-all">
<tr>
<td width="*" height="100%" style="font-size:9pt;line-height:12pt" valign="top"><img src="Skins/Default/topicface/face1.gif" border="0" alt="发贴心情" align="absmiddle"> <B>[第01篇]ACM/ICPC竞赛之基础篇</B><BR><H1 align=center>第01篇 ACM/ICPC竞赛之基础篇</H1><H2>一、ACM/ICPC竞赛的特点</H2><br>ACM/ICPC(国际大学生程序设计竞赛)是以算法设计为主的程序设计竞赛,并不涉及具体的应用技术。<br><br><P>ACM/ICPC竞赛以组队形式参赛,每个参赛队由三名队员组成,共同使用一台计算机解题。通常每场比赛的试题为6至10题,根据各队的完成题数和罚时进行排名。题目提交通过称为完成,从比赛开始到提交成功所用的时间为题目的基础罚时,另外,一道题目每提交失败一次,将增加20分钟罚时。也就是说,参赛队要尽可能用最快的速度、最少的失败次数,解决最多的题目。</P><H2>二、输入和输出处理</H2><P>试题一般采用标准输入和输出方式读取输入和产生输出,在题目中会详细描述输入和输出的格式和值域范围,所写的程序一定要严格遵守题目指定的输入输出格式。</P><P>在比赛试题的输入和输出处理上,针对一些常见的情形,有一些常用的方法。</P><H3>1、多测试用例的输入和输出</H3><P><br>有些试题在一次输入中只包含一个测试用例,也就是说,程序每运行一次,只算一道题。也有些试题在一次输入中包含多个测试用例,也就是说,程序每运行一次,要计算多道题。</P><P><br>对多用例输入,通常会先输入要计算的用例的个数,然后依次输入每个测试用例的输入数据,但程序并不需要等到所有的测试用例都计算完后再输出所有测试用例的计算结果,而是可以读入一个测试用例,输出一个结果,再读入一个测试用例,再输出一个结果。因此对多用例输入的试题,可以用这样的输入模式:</P><P>以C++为例:<br><br>int n;<br><br>cin >> n;<br><br>for (int i=0; i<n; i++)<br><br>{<br><br> 读入测试用例数据<br><br> 计算<br><br> 输出计算结果<br><br>}</P><H3>2、单测试用例输入的结束判断</H3><P>对单用例输入,最主要的问题是如何知道输入什么时候结束。</P><P>有些试题会指定某种特殊的输入值作为输入的结束标志,这种情况比较容易处理,只须在读入后,判断一下读入的内容是否为约定结束值即可。</P><P>有些试题并不指定特殊的输入值,而是以EOF(文件结束标志)作为结束标志。如果从文件流读入,当读到文件尾时,输入返回EOF。如果从键盘读入时,在Windows的终端中,是以Ctrl+Z表示EOF。对于这种情况,可以用这样的输入模式:</P><P>以C++为例:<br><br>int m, n; // 假设要连续输入一组整数对<br><br>while (cin>>m>>n)<br><br>{<br><br> 处理整数对(m, n)<br><br>}</P><P>以C语言为例:<br><br>int m, n;<br><br>while (scanf("%d%d", &m, &n)==2)<br><br>{<br><br> 处理整数对(m, n)<br><br>}</P><H2>三、数据结构的设计</H2><P>很多试题中已经给出了数据量的上限,因此可以很方便地以数组的方式定义数据结构。但也要注意到有些题目中没有明确指出数据上限时,切不可盲目定义数组大小。</P><P><br>例如在题1070(多项式求和)中,并未说明输入多项式的项数,对这种情况就不宜用数组方式来表示多项式了——除非你的运气足够好,所开辟的数组大小能够经受所有的测试用例的考验。</P><P>除了使用一般的数组或链表结构外,对使用C++的选手来说,STL也是一大利器,充分运用可以有效提高编程的效率和正确性。</P><H2>四、测试用例的考虑</H2><P>在试题中通常会给出测试用例的样例,这通常会被我们用来测试自己的程序,而且很多选手往往在正确计算出测试用例样例时,会认为自己的程序是正确的。</P><P><br>其实测试用例的样例只是测试用例的个例,实际用于测试的测试用例往往会涵盖各种极限情况和边界情况,而且有时测试用例的数量还会比较大,甚至会重复测试同一个测试用例。因此我们的程序能够通过样例测试,未必能够通过所有的测试用例的测试,一方面要全面考虑所有可能的极限情况和边界情况,一方面程序要有足够的效率。</P><br><div align=right><font color=#000066>[此贴子已经被作者于2005-10-2 20:16:30编辑过]</font></div></td>
</tr>
<tr><td><img src="Skins/Default/sigline.gif"><br>☆ Teacher 彭 ☆</td></tr>
<tr><td>
<div class="info"><img src="Skins/Default/jing.gif" border="0" title="本贴被加为精华" align="absmiddle"> </div>
</td></tr>
</table>
</td>
</tr>
<tr>
<td class="tablebody1" valign="middle" align="center" width="175"><img align="absmiddle" border="0" src="Skins/Default/ip.gif" alt="发贴IP已设置保密"> 2005-10-02 15:16</td>
<td class="tablebody1" valign="middle" width="*">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" align="left" width="*"> </td>
<td nowarp="true" valign="bottom" width="130" align="left"></td>
<td valign="middle" width="170" align="right"><a href="post.asp?action=edit&BoardID=9&replyID=129&ID=33&star=1"><img align="absmiddle" border="0" src="Skins/Default/edit.gif"></a> <a class="ImgOnclick" onMouseOver="showmenu(event,'','Menu_0');"><img align="absmiddle" border="0" src="Skins/Default/topicmanage.gif"></a> <a href="#top"><img align="absmiddle" border="0" src="Skins/Default/p_up.gif"></a></td>
<td valign="middle" align="left">
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="Menu_popup" id="Menu_0" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<div class="menuitems"><a href="TopicOther.asp?t=6&BoardID=9&id=33&ReplyID=129" title="向管理员举报该贴">举报帖子</a><BR><a href="admin_postings.asp?action=copy_a&BoardID=9&replyID=129&ID=33&star=1&userid=2">复制贴子</a><BR><a href="admin_postings.asp?action=nobest_a&BoardID=9&replyID=129&ID=33&star=1&userid=2">解除精华</a><BR><a href="admin_postings.asp?action=islockpage_a&BoardID=9&replyID=129&ID=33&star=1&userid=2">单贴屏蔽</a><BR><a href="admin_postings.asp?action=RewardMoney&BoardID=9&replyID=129&ID=33&star=1" title="好评或差评,可奖励或扣除该贴用户相关分值">帖子评价</a><BR></div></div><a name="131" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"></a><table cellPadding="5" cellSpacing="1" align="center" class="tableborder1" style="table-layout:fixed;word-break:break-all" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<tr>
<td class="tablebody2" valign="top" width="175">
<table width="100%" cellpadding="4" cellspacing="0">
<tr>
<td width="*" valign="middle" style="filter:glow(color=#9898BA,strength=2)"> <script type="text/javascript" language="javascript">document.write (usercolor('1','XiaoLin'));</script></td>
<td width="25" valign="middle"><img src="Skins/Default/ofMale.gif" alt="帅哥哟,离线,有人找我吗?"></td>
<td width="16" valign="middle"><script type="text/javascript" language="javascript">document.write (astro('1982-10-12'));</script></td>
</tr>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?