?? online judge論壇-acm-icpc-[第03篇]acm-icpc競賽之stl--pair.htm
字號:
<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="136" 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="點擊發(fā)送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="點擊發(fā)送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彭發(fā)送一個短消息" 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="點擊這里發(fā)送電郵給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=136&id=36&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=136&id=36&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="發(fā)貼心情" align="absmiddle"> <B>[第03篇]ACM/ICPC競賽之STL--pair</B><BR><br><H1 align=center>第03篇 ACM/ICPC競賽之STL--pair</H1><P>STL的<utility>頭文件中描述了一個看上去非常簡單的模板類pair,用來表示一個二元組或元素對,并提供了按照字典序對元素對進行大小比較的比較運算符模板函數(shù)。</P><P>例如,想要定義一個對象表示一個平面坐標點,則可以:</P><P>pair<double, double> p1;<br>cin >> p1.first >> p1.second;<br></P><P>pair模板類需要兩個參數(shù):首元素的數(shù)據(jù)類型和尾元素的數(shù)據(jù)類型。pair模板類對象有兩個成員:first和second,分別表示首元素和尾元素。</P><P>在<utility>中已經(jīng)定義了pair上的六個比較運算符:<、>、<=、>=、==、!=,其規(guī)則是先比較first,first相等時再比較second,這符合大多數(shù)應用的邏輯。當然,也可以通過重載這幾個運算符來重新指定自己的比較邏輯。</P><P>除了直接定義一個pair對象外,如果需要即時生成一個pair對象,也可以調用在<utility>中定義的一個模板函數(shù):make_pair。make_pair需要兩個參數(shù),分別為元素對的首元素和尾元素。</P><P>在題1067--Ugly Numbers中,就可以用pair來表示推演樹上的結點,用first表示結點的值,用second表示結點是由父結點乘以哪一個因子得到的。</P><FONT size=3><PRE>#include <iostream><br>#include <queue><br><br>using namespace std;<br><br><FONT color=#ff0000>typedef pair<unsigned long, int> node_type;<br></FONT><br>main()<br>{<br> unsigned long result[1500];<br> priority_queue< <FONT color=#ff0000>node_type</FONT>, vector<<FONT color=#ff0000>node_type</FONT>>, greater<<FONT color=#ff0000>node_type</FONT>> > Q;<br> Q.push( <FONT color=#ff0000>make_pair(1, 2)</FONT> );<br> for (int i=0; i<1500; i++)<br> {<br> node_type node = Q.top(); Q.pop();<br> switch(<FONT color=#ff0000>node.second</FONT>)<br> {<br> case 2: Q.push( <FONT color=#ff0000>make_pair(node.first*2, 2)</FONT> );<br> case 3: Q.push( <FONT color=#ff0000>make_pair(node.first*3, 3)</FONT> );<br> case 5: Q.push( <FONT color=#ff0000>make_pair(node.first*5, 5)</FONT> );<br> }<br> result[i] = <FONT color=#ff0000>node.first</FONT>;<br> }<br><br> int n;<br> cin >> n;<br> while (n>0)<br> {<br> cout << result[n-1] << endl; <br> cin >> n;<br> }<br> <br> return 1;<br>}</PRE><P><utility>看上去是很簡單的一個頭文件,但是<utility>的設計中卻濃縮反映了STL設計的基本思想。有意深入了解和研究STL的同學,仔細閱讀和體會這個簡單的頭文件,不失為一種入門的途徑。</P></FONT><br><div align=right><font color=#000066>[此貼子已經(jīng)被作者于2005-10-3 17:36:04編輯過]</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="發(fā)貼IP已設置保密"> 2005-10-03 17:24</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=136&ID=36&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=36&ReplyID=136" title="向管理員舉報該貼">舉報帖子</a><BR><a href="admin_postings.asp?action=copy_a&BoardID=9&replyID=136&ID=36&star=1&userid=2">復制貼子</a><BR><a href="admin_postings.asp?action=nobest_a&BoardID=9&replyID=136&ID=36&star=1&userid=2">解除精華</a><BR><a href="admin_postings.asp?action=islockpage_a&BoardID=9&replyID=136&ID=36&star=1&userid=2">單貼屏蔽</a><BR><a href="admin_postings.asp?action=RewardMoney&BoardID=9&replyID=136&ID=36&star=1" title="好評或差評,可獎勵或扣除該貼用戶相關分值">帖子評價</a><BR></div></div><a name="137" 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>
</table> <img src="UploadFace/13_20065192014050092.jpg" width="110" height="120"><br> <img src="Skins/Default/star/level20.gif"><br> 頭銜:Rookie<br> 等級:管理員<br> 文章:394<br> 積分:2603<br> 注冊:2005-09-13</td>
<td class="tablebody2" valign="top" height="100%">
<table width="100%" height="30">
<tr>
<td width="*" align="absmiddle"><a href="messanger.asp?action=new&touser=XiaoLin" target="_blank"><img src="Skins/Default/message.gif" border="0" alt="給XiaoLin發(fā)送一個短消息" align="absmiddle"></a> <a href="friendlist.asp?action=addF&myFriend=XiaoLin" target="_blank"><img src="Skins/Default/friend.gif" border="0" alt="把XiaoLin加入好友" align="absmiddle"></a> <a href="dispuser.asp?id=13" target="_blank"><img src="Skins/Default/profile.gif" border="0" alt="查看XiaoLin的個人資料" align="absmiddle"></a> <a href="query.asp?stype=1&nSearch=3&keyword=XiaoLin&BoardID=9&SearchDate=ALL" target="_blank"><img src="Skins/Default/find.gif" border="0" alt="搜索XiaoLin在的所有貼子" align="absmiddle"></a> <a href="mailto:siwenzi@163.com"><img alt="點擊這里發(fā)送電郵給XiaoLin" border="0" src="Skins/Default/email.gif" align="absmiddle"></a> <a href="post.asp?action=re&BoardID=9&replyID=137&id=36&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=137&id=36&star=1"><img src="Skins/Default/reply_a.gif" border="0" alt="回復這個貼子" align="absmiddle"></a></td>
<td width="70" align="right">第 <font color="#FF0000">2</font> 樓</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="發(fā)貼心情" align="absmiddle"> <B></B><BR><P>已閱^v^</P></td>
</tr>
<tr><td>
</td></tr>
</table>
</td>
</tr>
<tr>
<td class="tablebody2" valign="middle" align="center" width="175"><img align="absmiddle" border="0" src="Skins/Default/ip.gif" alt="發(fā)貼IP已設置保密"> 2005-10-03 17:42</td>
<td class="tablebody2" 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=137&ID=36&star=1"><img align="absmiddle" border="0" src="Skins/Default/edit.gif"></a> <a class="ImgOnclick" onMouseOver="showmenu(event,'','Menu_1');"><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_1" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<div class="menuitems"><a href="TopicOther.asp?t=6&BoardID=9&id=36&ReplyID=137" title="向管理員舉報該貼">舉報帖子</a><BR><a href="admin_postings.asp?action=dele_a&BoardID=9&replyID=137&ID=36&star=1&userid=13">刪除單貼</a><BR><a href="admin_postings.asp?action=copy_a&BoardID=9&replyID=137&ID=36&star=1&userid=13">復制貼子</a><BR><a href="admin_postings.asp?action=isbest_a&BoardID=9&replyID=137&ID=36&star=1&userid=13">加為精華</a><BR><a href="admin_postings.asp?action=islockpage_a&BoardID=9&replyID=137&ID=36&star=1&userid=13">單貼屏蔽</a><BR><a href="admin_postings.asp?action=RewardMoney&BoardID=9&replyID=137&ID=36&star=1" title="好評或差評,可獎勵或扣除該貼用戶相關分值">帖子評價</a><BR></div></div><a name="144" 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=white,strength=2)"> <script type="text/javascript" language="javascript">document.write (usercolor('9','玉凌風'));</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/level0.gif"><br> 等級:新手上路<br> 文章:34<br> 積分:299<br> 注冊:2005-09-21</td>
<td class="tablebody1" valign="top" height="100%">
<table width="100%" height="30">
<tr>
<td width="*" align="absmiddle"><a href="messanger.asp?action=new&touser=%D3%F1%C1%E8%B7%E7" target="_blank"><img src="Skins/Default/message.gif" border="0" alt="給玉凌風發(fā)送一個短消息" align="absmiddle"></a> <a href="friendlist.asp?action=addF&myFriend=%D3%F1%C1%E8%B7%E7" target="_blank"><img src="Skins/Default/friend.gif" border="0" alt="把玉凌風加入好友" align="absmiddle"></a> <a href="dispuser.asp?id=38" target="_blank"><img src="Skins/Default/profile.gif" border="0" alt="查看玉凌風的個人資料" align="absmiddle"></a> <a href="query.asp?stype=1&nSearch=3&keyword=%D3%F1%C1%E8%B7%E7&BoardID=9&SearchDate=ALL" target="_blank"><img src="Skins/Default/find.gif" border="0" alt="搜索玉凌風在的所有貼子" align="absmiddle"></a> <a href="mailto:vipyulf@163.com"><img alt="點擊這里發(fā)送電郵給玉凌風" border="0" src="Skins/Default/email.gif" align="absmiddle"></a> <a href="post.asp?action=re&BoardID=9&replyID=144&id=36&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=144&id=36&star=1"><img src="Skins/Default/reply_a.gif" border="0" alt="回復這個貼子" align="absmiddle"></a></td>
<td width="70" align="right">第 <font color="#FF0000">3</font> 樓</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="發(fā)貼心情" align="absmiddle"> <B></B><BR>沙發(fā)總被你坐,<img src=Skins/Default/emot/em06.gif border=0 align=middle onmousewheel="return bbimg(this)" onload="javascript:if(this.width>screen.width-500)this.style.width=screen.width-500;"></td>
</tr>
<tr><td>
</td></tr>
</table>
</td>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -