-----在九度上面 #include<iostream> #include<stdlib.h> using namespace std; 的组合会出错,但在dev c++上是可以编译通过的。这说明在线oj的死板,或许也说明了我编程的不严谨,以后需要注意这一点。
九度1004 用了vector,代码如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> s;
int n1,n2,i,a;
while(cin>>n1) //因为不止一个测试用例,题目要求
{
for (i=0;i<n1;i++)
{
cin>>a;
s.push_back(a);
}
cin>>n2;
for (i=0;i<n2;i++)
{
cin>>a;
s.push_back(a);
}
sort(s.begin(),s.end());
cout<<s[(n1+n2)/2]<<endl;
s.clear();//***************这一句很重要,也是我wa多次的原因
cin.clear();
cin.ignore();
}
return 0;
}
还有我比较钦佩的一个代码,这是我从别处带来的,只供借鉴,网上多个样本不知出处;
#include<stdio.h>
#include <stdlib.h>
using namespace std;
int a[1000005];
int cmp (void const *a,void const *b)
{
return *(int*)a-*(int*)b;
}
int main()
{
int m,n,i;
while(scanf("%d",&n)!=EOF)
{
for (i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(i=n;i<n+m;i++)
scanf("%d",&a[i]);
qsort(a,n+m,sizeof(a[0]),cmp);
printf("%d
",a[(n+m-1)/2]);
}
return 0;
}
九度的题目:题目1006:ZOJ问题的解法,原来是找规律,真让人无语: