一道C++上机题,为什么我的代码显示 wrong answer
题目描述:第一行输入一个数n,1<=n<=1000,下面输入n行数据,每一行有两个数,分别是xy。输出一组xy,该组数据是所有数据中x最小,且在x相等的情况下y最小的。输...
题目描述:
第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。
输入:
输入有多组数据。
每组输入n,然后输入n个整数对。
输出:
输出最小的整数对。
样例输入:
5
3 3
2 2
5 5
2 1
3 6
样例输出:
2 1
#include<iostream>
using namespace std;
int main(){
int n,min,tmp;
int str1[3000];
while(cin>>n){//整数对数
for(int i=0;i<2*n;i++){
cin>>str1[i]>>str1[i+1];
i++;
}
min=0x7fffffff;
for(int j=0;j<n*2;j++){
if(str1[j]<min){
min=str1[j];
tmp=j;
j++;
}
if(str1[j]>min){
j++;
}
else if(str1[j]==min)
{
if(str1[j+1]<str1[tmp+1])
tmp=j;
j++;
}
}
cout<<str1[tmp]<<" "<<str1[tmp+1]<<endl;
}
return 0;
}
dev c++上面正常的,但九度oj不行,显示wrong answer 展开
第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。
输入:
输入有多组数据。
每组输入n,然后输入n个整数对。
输出:
输出最小的整数对。
样例输入:
5
3 3
2 2
5 5
2 1
3 6
样例输出:
2 1
#include<iostream>
using namespace std;
int main(){
int n,min,tmp;
int str1[3000];
while(cin>>n){//整数对数
for(int i=0;i<2*n;i++){
cin>>str1[i]>>str1[i+1];
i++;
}
min=0x7fffffff;
for(int j=0;j<n*2;j++){
if(str1[j]<min){
min=str1[j];
tmp=j;
j++;
}
if(str1[j]>min){
j++;
}
else if(str1[j]==min)
{
if(str1[j+1]<str1[tmp+1])
tmp=j;
j++;
}
}
cout<<str1[tmp]<<" "<<str1[tmp+1]<<endl;
}
return 0;
}
dev c++上面正常的,但九度oj不行,显示wrong answer 展开
1个回答
展开全部
#include<stdio.h>
int main()
{
int n=0,i=0,x,y;
int xmin,ymin;
while(scanf("%d",&n)!=EOF)
{
if((n<1)||(n>1000))
{
return 0;
}
xmin=0;
ymin=0;
scanf("%d %d",&xmin,&ymin);
for(i=0;i<n-1;i++)
{
scanf("%d %d",&x,&y);
if((x<xmin)||((x==xmin)&&(y<ymin)))
{
xmin=x;
ymin=y;
}
}
printf("%d %d\n",xmin,ymin);
}
return 0;
}
/**************************************************************
Problem: 1170
User: ....@qq.com
Language: C++
Result: Accepted
Time:10 ms
Memory:1020 kb
****************************************************************/
写一个比改一个快
追问
我也知道怎么重新写一个,但不知道我这个为什么AC不了回复
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询