Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:求救 : 为什么是Time Limit Exceeded??In Reply To:求救 : 为什么是Time Limit Exceeded?? Posted by:huojian at 2011-04-29 13:29:06 > # include <stdio.h> > # include<string.h> > # include<stdlib.h> > > int a[100001]; > void paint(int x,int y,int k) > { > int i; > if (x>y) { i=x;x=y;y=i;}; > for (i=x;i<=y;i++) > a[i]=k; > }; > long count(int x,int y) > { > int find[31]; > > memset(find,0,sizeof(find)); > > long i,tot=0; > if (x>y) { i=x;x=y;y=i;}; > for (i=x;i<=y;i++) > if(! find[a[i]]) { > tot++; > find[a[i]]=1; > } > return tot; > } > int main() > { > long t; > char c; > long i,j,k; > long L,K; > > char s[10]; > scanf("%ld %ld %ld\n",&L,&K,&t); > memset(a,0,sizeof(a)); > //for (i=0;i<L;i++) a[i]=1; > while (t--){ > scanf("%c",&c); > if(c=='C') { > scanf("%ld %ld %ld\n",&i,&j,&k); > paint(i,j,k-1); > > } > else { > scanf("%ld %ld\n",&i,&j); > printf("%ld\n",count(i,j)); > > } > }/* > while (t--){ > gets(s); > i=s[2]-'0'; > j=s[4]-'0'; > if (s[0]=='C') { > k=s[6]-'0'; > paint(i,j,k); > } > else printf("%d\n",count(i,j)); > }*/ > > system("pause"); > return 0; > > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator