﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-tianxuyuan</title><link>http://www.cppblog.com/tianxuyuan/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 07 Apr 2026 15:08:19 GMT</lastBuildDate><pubDate>Tue, 07 Apr 2026 15:08:19 GMT</pubDate><ttl>60</ttl><item><title>自学class 可是做半天的题目 电脑上数据答案对了 提交是不对的 〔内附题目 我的答案〕</title><link>http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30183.html</link><dc:creator>田旭园</dc:creator><author>田旭园</author><pubDate>Thu, 16 Aug 2007 15:01:00 GMT</pubDate><guid>http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30183.html</guid><wfw:comment>http://www.cppblog.com/tianxuyuan/comments/30183.html</wfw:comment><comments>http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30183.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/tianxuyuan/comments/commentRss/30183.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tianxuyuan/services/trackbacks/30183.html</trackback:ping><description><![CDATA[<p>怎么这样这样？<br>下面是提交后的显示：<br><strong><font color=#996666>编译失败...</font></strong>|错误号:1<br><br></p>
<blockquote><font color=#006699>MyProger\Prog69647.cpp:24: error: expected `;' before '(' token<br>MyProger\Prog69647.cpp:27: error: expected `;' before "int"<br>MyProger\Prog69647.cpp: In function `int main()':<br>MyProger\Prog69647.cpp:59: error: 'class Student' has no member named 'add'<br></font></blockquote>
<p>高手们大侠们救命阿！<br>//=====================<br>#include&lt;iostream&gt;<br>#include&lt;iomanip&gt;<br>using namespace std;<br>//---------------------------------------------<br>class Student{<br>&nbsp;string name;<br>&nbsp; int mark;<br>&nbsp;&nbsp; int classmark;<br>&nbsp;&nbsp;&nbsp; char isganbu;<br>&nbsp;&nbsp;&nbsp; char isxibu;<br>&nbsp;&nbsp;&nbsp; int lw;<br>&nbsp;&nbsp;&nbsp; int jxj;<br>public :<br>&nbsp;void set(string na, int ma, int cl, char isga,char isxi,int l, int jx){<br>&nbsp;&nbsp; name=na;mark=ma;classmark=cl;isganbu=isga;isxibu=isxi;lw=l;jxj=jx;<br>&nbsp; }<br>&nbsp;bool isys();<br>&nbsp;bool isws();<br>&nbsp;bool iscj();<br>&nbsp;bool isxb();<br>&nbsp;bool isbj();</p>
<p>&nbsp;void&nbsp; sumjxj(){<br>&nbsp; if(isys()) jxj+=8000;<br>&nbsp; if(isws()) jxj+=4000;<br>&nbsp; if(iscj()) jxj+=2000;<br>&nbsp; if(isxb()) jxj+=1000;<br>&nbsp; if(isbj()) jxj+= 850;<br>&nbsp; }<br>&nbsp;int add(&amp; sum){<br>&nbsp; sum=sum+jxj ;<br>&nbsp;}<br>&nbsp;int&nbsp; mmax(string &amp; name1,int &amp; jxj1){<br>&nbsp; if(jxj&gt;jxj1){ name1=name;jxj1=jxj ;}<br>&nbsp;&nbsp;&nbsp; }<br>};<br>//-------------------------------------<br>&nbsp;bool Student::isys(){<br>&nbsp; return (mark&gt;80&amp;&amp;lw&gt;0);<br>&nbsp; }<br>&nbsp; bool Student::isws(){<br>&nbsp;&nbsp; return (mark&gt;85&amp;&amp;classmark&gt;80 );<br>&nbsp; }<br>&nbsp; bool Student::iscj(){<br>&nbsp;&nbsp; return (mark&gt;90);<br>&nbsp;&nbsp; }<br>&nbsp; bool Student::isxb(){<br>&nbsp;&nbsp; return (mark&gt;85&amp;&amp;isxibu=='Y');<br>&nbsp;&nbsp; }<br>&nbsp; bool Student::isbj(){<br>&nbsp;&nbsp; return (classmark&gt;80&amp;&amp;isganbu=='Y');<br>&nbsp;&nbsp; }<br>//---------------------------------------<br>int main(){<br>&nbsp;string name1=" "; int jxj1=0; int sum=0;<br>&nbsp;int n; cin&gt;&gt;n;<br>&nbsp;for(;n;n--){<br>&nbsp; Student x;<br>&nbsp; string na; int ma; int cl; char isga;char isxi;int l; int jx=0;<br>&nbsp; cin&gt;&gt;na&gt;&gt;ma&gt;&gt;cl&gt;&gt;isga&gt;&gt;isxi&gt;&gt;l;<br>&nbsp; //jx=0;<br>&nbsp; x.set(na,ma,cl,isga,isxi,l,jx);<br>&nbsp; x.sumjxj();</p>
<p>&nbsp; x.add(sum);<br>&nbsp; x.mmax(name1,jxj1);</p>
<p>&nbsp; }<br>&nbsp;cout&lt;&lt;name1&lt;&lt;'\n';<br>&nbsp;cout&lt;&lt;jxj1&lt;&lt;'\n';<br>&nbsp;cout&lt;&lt;sum&lt;&lt;'\n';<br>&nbsp; }<br><br>
<table height=0 cellSpacing=0 cellPadding=0 bgColor=#ffffff border=0>
    <tbody>
        <tr>
            <td class=style2 vAlign=top align=left width=512 colSpan=2 height=20>描述 Description </td>
            <td background="Skin/Life Azure/Frame_r2_c3.gif" rowSpan=2></td>
        </tr>
        <tr>
            <td vAlign=top align=left width=10>&nbsp; </td>
            <td vAlign=top align=left width=502>　　某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种，获取的条件各自不同：<br><br>　　1) &nbsp;院士奖学金，每人8000元，期末平均成绩高于80分（&gt;80），并且在本学期内发表1篇或1篇以上论文的学生均可获得；<br><br>　　2) &nbsp;五四奖学金，每人4000元，期末平均成绩高于85分（&gt;85），并且班级评议成绩高于80分（&gt;80）的学生均可获得；<br><br>　　3) &nbsp;成绩优秀奖，每人2000元，期末平均成绩高于90分（&gt;90）的学生均可获得；<br><br>　　4) &nbsp;西部奖学金，每人1000元，期末平均成绩高于85分（&gt;85）的西部省份学生均可获得；<br><br>　　5) &nbsp;班级贡献奖，每人850元，班级评议成绩高于80分（&gt;80）的学生干部均可获得；<br><br>　　只要符合条件就可以得奖，每项奖学金的获奖人数没有限制，每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分，班级评议成绩82分，同时他还是一位学生干部，那么他可以同时获得五四奖学金和班级贡献奖，奖金总数是4850元。<br><br>　　现在给出若干学生的相关数据，请计算哪些同学获得的奖金总数最高（假设总有同学能满足获得奖学金的条件）。<br></td>
        </tr>
        <tr>
            <td width=14 background="Skin/Life Azure/Frame_r3_c1.gif" height=14></td>
            <td background="Skin/Life Azure/Frame_r3_c2.gif" colSpan=2></td>
            <td width=14 background="Skin/Life Azure/Frame_r3_c3.gif" height=14></td>
        </tr>
    </tbody>
</table>
<table height=0 cellSpacing=0 cellPadding=0 bgColor=#ffffff border=0>
    <tbody>
        <tr>
            <td width=14 background="Skin/Life Azure/Frame_r1_c1.gif" height=14></td>
            <td background="Skin/Life Azure/Frame_r1_c2.gif" colSpan=2></td>
            <td width=14 background="Skin/Life Azure/Frame_r1_c3.gif" height=14></td>
        </tr>
        <tr>
            <td background="Skin/Life Azure/Frame_r2_c1.gif" rowSpan=2></td>
            <td class=style2 vAlign=top align=left colSpan=2 height=20>输入格式 Input Format</td>
            <td background="Skin/Life Azure/Frame_r2_c3.gif" rowSpan=2></td>
        </tr>
        <tr>
            <td vAlign=top align=left width=10>&nbsp; </td>
            <td vAlign=top align=left width=502>　　输入的第一行是一个整数N（1 &lt;= N &lt;= 100），表示学生的总数。接下来的N行每行是一位学生的数据，从左向右依次是姓名，期末平均成绩，班级评议成绩，是否是学生干部，是否是西部省份学生，以及发表的论文数。姓名是由大小写英文字母组成的长度不超过20的字符串（不含空格）；期末平均成绩和班级评议成绩都是0到100之间的整数（包括0和100）；是否是学生干部和是否是西部省份学生分别用一个字符表示，Y表示是，N表示不是；发表的论文数是0到10的整数（包括0和10）。每两个相邻数据项之间用一个空格分隔。<br></td>
        </tr>
        <tr>
            <td width=14 background="Skin/Life Azure/Frame_r3_c1.gif" height=14></td>
            <td background="Skin/Life Azure/Frame_r3_c2.gif" colSpan=2></td>
            <td width=14 background="Skin/Life Azure/Frame_r3_c3.gif" height=14></td>
        </tr>
    </tbody>
</table>
<table height=0 cellSpacing=0 cellPadding=0 bgColor=#ffffff border=0>
    <tbody>
        <tr>
            <td width=14 background="Skin/Life Azure/Frame_r1_c1.gif" height=14></td>
            <td background="Skin/Life Azure/Frame_r1_c2.gif" colSpan=2></td>
            <td width=14 background="Skin/Life Azure/Frame_r1_c3.gif" height=14></td>
        </tr>
        <tr>
            <td background="Skin/Life Azure/Frame_r2_c1.gif" rowSpan=2></td>
            <td class=style2 vAlign=top align=left width=512 colSpan=2 height=20>输出格式 Output Format</td>
            <td background="Skin/Life Azure/Frame_r2_c3.gif" rowSpan=2></td>
        </tr>
        <tr>
            <td vAlign=top align=left width=10>&nbsp; </td>
            <td vAlign=top align=left width=502>　　输出包括三行，第一行是获得最多奖金的学生的姓名，第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多，输出他们之中在输入文件中出现最早的学生的姓名。第三行是这N个学生获得的奖学金的总数。<br></td>
        </tr>
    </tbody>
</table>
<br>in<br>4<br>YaoLin 87 82 Y N 0<br>ChenRuiyi 88 78 N Y 1<br>LiXin 92 88 N N 0<br>ZhangQin 83 87 Y N 1<br>out<br>ChenRuiyi<br>9000<br>28700</p>
<img src ="http://www.cppblog.com/tianxuyuan/aggbug/30183.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tianxuyuan/" target="_blank">田旭园</a> 2007-08-16 23:01 <a href="http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30183.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>放假在家 学习类 今天编了日期简单处理的 </title><link>http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30137.html</link><dc:creator>田旭园</dc:creator><author>田旭园</author><pubDate>Thu, 16 Aug 2007 03:15:00 GMT</pubDate><guid>http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30137.html</guid><wfw:comment>http://www.cppblog.com/tianxuyuan/comments/30137.html</wfw:comment><comments>http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30137.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/tianxuyuan/comments/commentRss/30137.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tianxuyuan/services/trackbacks/30137.html</trackback:ping><description><![CDATA[//===========================<br>#include&lt;iostream&gt;<br>#include&lt;iomanip&gt;<br>//========================<br>using namespace std;<br>class Date{<br>&nbsp;int year,month,day;<br>public:<br>&nbsp;bool isleapyear(){<br>&nbsp;&nbsp; return(year%4==0&amp;&amp;year%100!=0)||(year%400==0);<br>&nbsp;&nbsp; }<br>&nbsp;void print(){<br>&nbsp; cout&lt;&lt;setfill('0');<br>&nbsp; cout&lt;&lt;setw(4)&lt;&lt;year&lt;&lt;'-'&lt;&lt;setw(2)&lt;&lt;month&lt;&lt;'-'&lt;&lt;setw(2)&lt;&lt;day&lt;&lt;'\n';<br>&nbsp; cout&lt;&lt;setfill(' ');<br>&nbsp; }<br>&nbsp; void set(int y,int m,int d){<br>&nbsp;&nbsp; year=y;&nbsp; month=m; day=d;<br>&nbsp; }<br>&nbsp;};<br>//--------------------------<br>int main(){<br>&nbsp;Date kk;<br>&nbsp;int n;cin&gt;&gt;n;<br>&nbsp;for(int i=1;i&lt;=n;i++){<br>&nbsp;&nbsp;&nbsp; int y;int m;int d;<br>&nbsp;&nbsp;&nbsp;&nbsp; cin&gt;&gt;y&gt;&gt;m&gt;&gt;d;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; kk.set(1000,8,16);<br>&nbsp;&nbsp;&nbsp;&nbsp; kk.set(y,m,d);<br>&nbsp;&nbsp;&nbsp; if(kk.isleapyear()) kk.print();<br>&nbsp;&nbsp;&nbsp;&nbsp; else cout&lt;&lt;"notleap\n";<br>&nbsp; }<br>&nbsp;cout&lt;&lt;"over"&lt;&lt;'\n';<br>}<br>//--------------------------<br><br>想用类做8个排序算法 有点没有头绪阿<br>
<img src ="http://www.cppblog.com/tianxuyuan/aggbug/30137.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tianxuyuan/" target="_blank">田旭园</a> 2007-08-16 11:15 <a href="http://www.cppblog.com/tianxuyuan/archive/2007/08/16/30137.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>刚作好的 叫DNA 想用取余的做可是做不出来 高人帮忙~~</title><link>http://www.cppblog.com/tianxuyuan/archive/2007/05/22/24619.html</link><dc:creator>田旭园</dc:creator><author>田旭园</author><pubDate>Tue, 22 May 2007 10:30:00 GMT</pubDate><guid>http://www.cppblog.com/tianxuyuan/archive/2007/05/22/24619.html</guid><wfw:comment>http://www.cppblog.com/tianxuyuan/comments/24619.html</wfw:comment><comments>http://www.cppblog.com/tianxuyuan/archive/2007/05/22/24619.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tianxuyuan/comments/commentRss/24619.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tianxuyuan/services/trackbacks/24619.html</trackback:ping><description><![CDATA[<h3>Input:</h3>
<p>输入包含多组测试数据。第一个整数N（N&lt;=15）,N表示组数，每组数据包含两个整数a,b。a表示一个单位的DNA串的行数，a为奇数且 3&lt;=a&lt;=39。b表示重复度(1&lt;=b&lt;=20)。 </p>
<h3>Output:</h3>
<p>输出DNA的形状，每组输出间有一空行。 </p>
<h3>Sample Input:</h3>
<pre>2
3 1
5 4</pre>
<h3>Sample Output:</h3>
<pre>X X
X
X X
X   X
X X
X
X X
X   X
X X
X
X X
X   X
X X
X
X X
X   X
X X
X
X X
X   X</pre>
<p><br><br>#include&lt;iostream&gt;<br>#include&lt;string&gt;<br>using namespace std;<br>int main()<br>{</p>
<p>int n; cin&gt;&gt;n;<br>int m=1;<br>for(int a,b;n&amp;&amp;cin&gt;&gt;a&gt;&gt;b;n--)<br>{ cout&lt;&lt;(m==1?"":"\n");</p>
<p>&nbsp;for(int i=1;i&lt;=b;i++)<br>&nbsp; {for(int j=1;j&lt;=a/2;j++)<br>&nbsp; {<br>&nbsp;&nbsp; cout&lt;&lt;string(j-1,' ');<br>&nbsp;&nbsp; cout&lt;&lt;'X';<br>&nbsp;&nbsp; cout&lt;&lt;string(a-2*(j-1)-2,' ');<br>&nbsp;&nbsp; cout&lt;&lt;'X'&lt;&lt;'\n';<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;string(a/2,' ');<br>&nbsp;&nbsp;&nbsp; cout&lt;&lt;'X'&lt;&lt;'\n';<br>&nbsp;&nbsp;&nbsp; for(int i=a/2;i&gt;1;i--)<br>&nbsp;&nbsp;&nbsp; { cout&lt;&lt;string(i-1,' ');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;'X';<br>&nbsp;&nbsp; cout&lt;&lt;string(a-2*(i-1)-2,' ');<br>&nbsp;&nbsp; cout&lt;&lt;'X'&lt;&lt;'\n';<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp; }<br>&nbsp; cout&lt;&lt;'X';cout&lt;&lt;string(a-2,' ');<br>&nbsp; cout&lt;&lt;'X'&lt;&lt;'\n';</p>
<p><br>&nbsp; m++;<br>&nbsp; }</p>
<p>&nbsp; }</p>
<img src ="http://www.cppblog.com/tianxuyuan/aggbug/24619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tianxuyuan/" target="_blank">田旭园</a> 2007-05-22 18:30 <a href="http://www.cppblog.com/tianxuyuan/archive/2007/05/22/24619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I wish</title><link>http://www.cppblog.com/tianxuyuan/archive/2007/05/06/23510.html</link><dc:creator>田旭园</dc:creator><author>田旭园</author><pubDate>Sun, 06 May 2007 06:26:00 GMT</pubDate><guid>http://www.cppblog.com/tianxuyuan/archive/2007/05/06/23510.html</guid><wfw:comment>http://www.cppblog.com/tianxuyuan/comments/23510.html</wfw:comment><comments>http://www.cppblog.com/tianxuyuan/archive/2007/05/06/23510.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/tianxuyuan/comments/commentRss/23510.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tianxuyuan/services/trackbacks/23510.html</trackback:ping><description><![CDATA[#include&lt;stdio.h&gt;<br>void main()<br>{<br>&nbsp; int day;<br>&nbsp; for(day=1;day&lt;=365;day++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("I wish you happy everyday!\n");<br>} 
<img src ="http://www.cppblog.com/tianxuyuan/aggbug/23510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tianxuyuan/" target="_blank">田旭园</a> 2007-05-06 14:26 <a href="http://www.cppblog.com/tianxuyuan/archive/2007/05/06/23510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>StrInt + - * /(整除) % (取模)</title><link>http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23434.html</link><dc:creator>田旭园</dc:creator><author>田旭园</author><pubDate>Sat, 05 May 2007 03:20:00 GMT</pubDate><guid>http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23434.html</guid><wfw:comment>http://www.cppblog.com/tianxuyuan/comments/23434.html</wfw:comment><comments>http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23434.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/tianxuyuan/comments/commentRss/23434.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tianxuyuan/services/trackbacks/23434.html</trackback:ping><description><![CDATA[/ StrInt + - * /(整除) % (取模)<br>//==================<wbr>==================<wbr>=<br>#ifndef STRINT_HEADER<br>#define STRINT_HEADER<br>#include&lt;iostream&gt;<br>using namespace std;<br>//-------------------------------------<br>class StrInt{<br>&nbsp; enum { BYTENUM = 200 };<br>&nbsp; string _sign;<br>&nbsp; string _num;<br>public:<br>&nbsp; StrInt(const string&amp; a = string("0") );<br>&nbsp; StrInt(const string&amp; sign, const string&amp; num);<br>&nbsp; friend StrInt mul( const StrInt&amp; a, const StrInt&amp; b );<br>&nbsp; friend StrInt add( const StrInt&amp; a, const StrInt&amp; b );<br>&nbsp; friend StrInt sub( const StrInt&amp; a, const StrInt&amp; b );<br>&nbsp; friend StrInt div( const StrInt&amp; a, const StrInt&amp; b );<br>&nbsp; friend StrInt mod( const StrInt&amp; a, const StrInt&amp; b );<br>&nbsp; friend istream&amp; operator&gt;&gt;(istream&amp; in, StrInt&amp; a);<br>&nbsp; friend ostream&amp; operator&lt;&lt;(ostream&amp; out, const StrInt&amp; a);<br>};//-----------------------------------<br>#endif&nbsp;&nbsp; // STRINT_HEADER<br>
<img src ="http://www.cppblog.com/tianxuyuan/aggbug/23434.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tianxuyuan/" target="_blank">田旭园</a> 2007-05-05 11:20 <a href="http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23434.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>待做</title><link>http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23433.html</link><dc:creator>田旭园</dc:creator><author>田旭园</author><pubDate>Sat, 05 May 2007 03:17:00 GMT</pubDate><guid>http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23433.html</guid><wfw:comment>http://www.cppblog.com/tianxuyuan/comments/23433.html</wfw:comment><comments>http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23433.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/tianxuyuan/comments/commentRss/23433.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/tianxuyuan/services/trackbacks/23433.html</trackback:ping><description><![CDATA[<p>Sorting by Swapping <br>Time Limit:1000MS&nbsp; Memory Limit:10000K<br>Total Submit:2515 Accepted:1374 </p>
<p>Description<br>Given a permutation of numbers from 1 to n, we can always get the sequence 1, 2, 3, ..., n by swapping pairs of numbers. For example, if the initial sequence is 2, 3, 5, 4, 1, we can sort them in the following way: </p>
<p>2 3 5 4 1 <br>1 3 5 4 2 <br>1 3 2 4 5 <br>1 2 3 4 5 </p>
<p>Here three swaps have been used. The problem is, given a specific permutation, how many swaps we needs to take at least. </p>
<p><br>Input<br>The first line contains a single integer t (1 &lt;= t &lt;= 20) that indicates the number of test cases. Then follow the t cases. Each case contains two lines. The first line contains the integer n (1 &lt;= n &lt;= 10000), and the second line gives the initial permutation.</p>
<p>Output<br>For each test case, the output will be only one integer, which is the least number of swaps needed to get the sequence 1, 2, 3, ..., n from the initial permutation. </p>
<p>Sample Input</p>
<p><br>2<br>3<br>1 2 3<br>5<br>2 3 5 4 1</p>
<p>Sample Output</p>
<p><br>0<br>3 <br></p>
<img src ="http://www.cppblog.com/tianxuyuan/aggbug/23433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tianxuyuan/" target="_blank">田旭园</a> 2007-05-05 11:17 <a href="http://www.cppblog.com/tianxuyuan/archive/2007/05/05/23433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>