zoukankan      html  css  js  c++  java
  • 题解 P1003 【铺地毯】

    关于 P1003 铺地毯 的答案 and some problem

    关于此题,铺地毯,那就一张张铺吧。

    这样不是很好?

    模拟

    来一段:


    #include<bits/stdc++.h>
    
    using namespace std;
    
    int n;
    int a,b,g,k;
    int x,y;
    short mp[10010][10010];//map与我有仇
    int main()
    {
    	scanf("%d",&n);
    	for(register int jsq=1;jsq<=n;jsq++)
    	{
    		scanf("%d%d%d%d",&a,&b,&g,&k);
    		for(register int i=a;i<=a+g;i++)
    		{
    			for(register int j=b;j<=b+k;j++)
    			{
    				mp[i][j]=jsq;
    			}
    		}
    	}
    	scanf("%d%d",&x,&y);
    	if(mp[x][y]>=1)
    	{
    		printf("%hd",mp[x][y]);
    	}
    	else printf("-1");
    	return 0;
    }
    

    很明显一张一张铺,后边的地毯将前面的覆盖,数字覆盖


    but

    洛谷告诉我:Unaccepted 50

    AC RE AC AC AC AC RE RE RE MLE

    这么辣鸡的做法怎么可以过,过了则毫无天理。

    语文不好的人向来是先粘代码的


    #include<bits/stdc++.h>
    
    using namespace std;
    
    int n;
    int a[10010],b[10010],g[10010],k[10010];
    int x,y;
    int ans=-1
    int main()
    {
    	scanf("%d",&n);
    	for(register 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(register int i=n;i>=1;i--)
        {
        	if(a[i]<=x&&x<=a[i]+g[i]&&b[i]<=y&&y<=b[i]+k[i])
    		{
    		    ans=i;
    			break;
    		}
    	}
    	printf("%d",ans);
    	return 0;
    }
    

    (敲黑板)思路改变

    不选择“铺”,而是只见范围去算,合适就改变。

    倒着循环的,以免一些可怕的问题

    同时,后铺的地毯要比先铺的位置要更靠上,那么,从最后铺的地毯开始查找,会更省时间。

    同时将多余的,无需计算的部分删掉,不理它。

    就这样。

    完了吗?

    还有一件事:数据内没有 -1 !!!!!!

    谢谢!!!

    完结撒花~~~~~~


    做人做事最好的状态就是:不刻意。不刻意自我表现,也不刻意淡泊名利;不刻意迎合,也不刻意狂狷;不刻意追逐流行,也不刻意卓尔不群。如是,则不心累,不纠结,不失望。

    The best state of being a man is: not deliberately. Not deliberately self - expression, and not deliberately indifferent to fame and wealth; not deliberately to cater for, nor deliberate crazy; not deliberately chasing popular, not deliberately outstanding. If it is, it is not tired, not entangled, not disappointed.

    身を処して事をしてベストな状態ではないか。自己表現もない工夫を凝らし、工夫を凝らして名利にはあっさりしないにも工夫を凝らして、工夫を凝らして狂強情なない工夫を凝らして追いかけて流行、工夫を凝らして衆人より一段優れている。このように、心は疲れない、からみ合って、失望しない。

  • 相关阅读:
    Nginx 和 PHP的安装配置
    hdu1166 敌兵布阵
    乘法逆元详解
    SPFA算法
    Kruskal算法&Prim算法
    WC2018 文艺汇演《退役的你》
    HDU2577 How to Type
    裴蜀定理的证明
    CSP J/S 2019受虐记
    Dijkstra算法详解
  • 原文地址:https://www.cnblogs.com/XSZCaesar/p/10549519.html
Copyright © 2011-2022 走看看