uvaoj105

来源:互联网 发布:矩阵有分配律吗 编辑:程序博客网 时间:2024/05/17 02:57

uvaoj105


        题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=41



    刷一下存在感,,,看到uva1077 ,也是醉了。。

       这个题不需要坐标离散化, 直接把数据打到数组上就可以了。 ( 值<10000 )直接开数组

       剩下的就是细节了 ,开始用  while(scanf("%d %d %d",&l,&h,&r) != EOF))  ----->WA

       估计是停不下来,就直接写到  char 数组上了 ,gets 很好用,空格不结束 ,回车结束。



       

#include<stdio.h>#include<string.h>#define max(a,b) a>b?a:b#define min(a,b) a<b?a:bint a[100000];int main(){int maxr=-1,minl = 1000000,l,h,r,i;     char s[10];while(gets(s)){l = h =r = 0;if(strlen(s) == 0 ) break;       for(i= 0;i<strlen(s);i++)   {   if(s[i] ==' ')break;   l = l*10 + s[i]-'0';      }       for(i++;i<strlen(s);i++)   {if(s[i] ==' ')break;   h = h*10 + s[i]-'0';      }    for(i++;i<strlen(s);i++)   { if(s[i] ==' ')break;   r = r*10 + s[i]-'0';     }for( i = l;i<r;i++)a[i] = max(a[i] , h);maxr = max(maxr , r);minl = min(minl , l);}    for(i = minl ;i<maxr;i++)if(i == minl )printf("%d %d ",i ,a[i]);else if( a[i] != a[i-1]){printf("%d %d ",i,a[i]);}printf("%d 0\n",maxr);return 0;}

      

0 0
原创粉丝点击