求助

P1003 [NOIP2011 提高组] 铺地毯

你这a数组肯定炸了 要离散化啊
by SDHHENRY @ 2018-10-31 21:54:37


@[Yanrqin](/space/show?uid=103706) 可以这样写 ```cpp #include<iostream> #include<fstream> using namespace std; struct Sarpet{ int c,d,e,f; }; Sarpet g[10001]; int main() { int a,h,i; cin>>a; for(int b=1;b<=a;b++) { cin>>g[b].c>>g[b].d>>g[b].e>>g[b].f; } cin>>h>>i; for(int b=a;b>=1;b--) { if(h>=g[b].c&&h<=g[b].c+g[b].e&&i>=g[b].d&&i<=g[b].d+g[b].f) { cout<<b; return 0; } } cout<<-1; return 0; } ```
by 波风水门 @ 2018-10-31 21:56:10


@[Yanrqin](/space/show?uid=103706) 这题边输入边模拟就行QWQ 不用这么麻烦
by 白烛葵 @ 2018-10-31 22:01:09


这题模拟就行了哇 ```cpp #include<iostream> #include<cstdlib> #include<cstdio> using namespace std; int main() { int n,x,y,a[10001],b[10001],g[10001],k[10001]; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d%d%d",&a[i],&b[i],&g[i],&k[i]); scanf("%d%d",&x,&y); for(int i=n;i>=1;--i) if(x>=a[i]&&x<=a[i]+g[i]&&y>=b[i]&&y<=b[i]+k[i]) { printf("%d",i); return 0; } cout<<"-1"; return 0; } ```
by SetsunaFSeiei @ 2018-10-31 22:09:12


@[Yanrqin](/space/show?uid=103706) 模拟真简单
by SetsunaFSeiei @ 2018-10-31 22:09:39


@[四代目火影](/space/show?uid=81710) 解决了 谢谢
by Yanrqin @ 2018-11-01 17:57:48


@[九曜](/space/show?uid=123535) 解决了 谢谢
by Yanrqin @ 2018-11-01 17:58:02


膜拜大佬,顺便改一下自己错误的代码
by Bean233 @ 2019-01-14 12:26:02


|