题目水水
不过我写的很奇怪出现error
0_0_8371743_15067.cpp 0_0_8371743_15067.cpp(36) : error C2872: “max” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line max” 或 “max” 0_0_8371743_15067.cpp(37) : error C2872: “min” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line min” 或 “min” 0_0_8371743_15067.cpp(40) : error C2872: “max” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line max” 或 “max” 0_0_8371743_15067.cpp(40) : error C2872: “max” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line max” 或 “max” 0_0_8371743_15067.cpp(41) : error C2872: “min” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line min” 或 “min” 0_0_8371743_15067.cpp(41) : error C2872: “min” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line min” 或 “min” 0_0_8371743_15067.cpp(43) : error C2872: “min” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line min” 或 “min” 0_0_8371743_15067.cpp(43) : error C2872: “max” : 不明确的符号 可能是“0_0_8371743_15067.cpp(27) : line max” 或 “max”
后来把 struct line a[1005],max,min;
语句放在main函数中,最后就ac了 。。。。
后来百度了下 貌似是这个原因:
该错误一般是定义的变量名与系统自带的变量冲突,换一个变量名就可以解决了,例如这里,可以换成Max,就搞定了!
学习了。。。。
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
struct time
{
int hour;
int minit;
int second;
};
struct line
{
char id[20];
struct time s;
struct time e;
};
int cmp(struct time a,struct time b)
{
if(a.hour>b.hour)return 1;
if(a.hour<b.hour)return 0;
if(a.minit>b.minit)return 1;
if(a.minit<b.minit)return 0;
if(a.second>b.second)return 1;
return 0;
}
int main()
{
int n,m,i;
struct line a[1005],max,min;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
for(i=0;i<m;i++)scanf("%s%d:%d:%d%d:%d:%d",a[i].id,&a[i].s.hour,&a[i].s.minit,&a[i].s.second,&a[i].e.hour,&a[i].e.minit,&a[i].e.second);
max=a[0];
min=a[0];
for(i=1;i<m;i++)
{
if(!cmp(max.e,a[i].e))max=a[i];
if(cmp(min.s,a[i].s))min=a[i];
}
printf("%s %s\n",min.id,max.id);
}
return 0;
}