1046是考察最少一串数据的交换次数,其实我没考虑最小的,就是从头开始检查,有可以交换的就交换,虽然ac了,但是好像不符合题意,不知道该怎么样考虑才最小,或者根本就不用考虑最小交换次数?
看了别人的代码,写的确实很专业,不敢独享,贴出来备份:
实现两个数交换:a^=b^=a^=b 其中^是异或,当然也可以用c++自带的swap函数。
另外,在处理acm的数据输入问题上,有个简单的方法:

cin>>casenum;
while(casenum--)

...{

for(i=0,cin>>n;i<n;cin>>a[i],i++); /**////接受输入的数值
}







下面是自己写的whu1046代码:























































