zoukankan      html  css  js  c++  java
  • P1056排坐椅

    这是2008普及组真题,是一个提高—的模拟。

    仔细读完题便有了思路:累放在i行能隔开wi个,比较排序wi,输出即可。所以在这里遇到了结构体排序的问题与手写cmp的问题。对于两个语法知识掌握得都不好,所以造成了死循环或者......(迄今仍然不知道错在了哪里),所以wa1,wa2,wa3..蓝瘦,希望洛谷的大佬可以帮帮我。

    1.熟练掌握struct &sort语法

    2.尽量不开二维数组

    3.要把问题转化到最简单的求解形式(比如x1==x2而非mp[x1+1]=mp[x1])

    代码:

    #include<iostream>
    #include<algorithm>
    using namespace std;
    struct node
    {
        int num,sum;
    }hang[1005],lie[1005];
    bool cmp(node x,node y)
    {
        return x.sum>y.sum;
    }
    
    bool cmp1(node x,node y)
    {
        return x.num<y.num;
    }
    int m,n;
    int d,k,l,x1,x2,y1,y2;
    int main()
    {
        cin>>m>>n>>k>>l>>d;
        for(int i=1;i<=d;i++)
        {
            cin>>x1>>y1>>x2>>y2;
            if(x1==x2) 
            {
            lie[min(y1,y2)].num=min(y1,y2);
            lie[min(y1,y2)].sum++;
            }
            else 
            {
            hang[min(x1,x2)].num=min(x1,x2);
            hang[min(x1,x2)].sum++;
            }
        }
        sort(lie+1,lie+n+1,cmp);
        sort(hang+1,hang+m+1,cmp);
        sort(lie+1,lie+l+1,cmp1);
        sort(hang+1,hang+k+1,cmp1);
        for(int i=1;i<=k;i++) cout<<hang[i].num<<" ";
        cout<<endl;
        for(int i=1;i<=l;i++) cout<<lie[i].num<<" ";
        return 0;
    }
    待到oi十一月,我花开后百花杀。
  • 相关阅读:
    移动端开发适配总结
    gulp进阶构建项目由浅入深
    css3 实现逐帧动画
    jQuery1.9.1源码分析--数据缓存Data模块
    nodejs开发指南读后感
    css3动画由浅入深总结
    浅谈javascript函数节流
    go语言基础之copy的使用
    go语言基础之append扩容特点
    go语言基础之append函数的使用
  • 原文地址:https://www.cnblogs.com/china-mjr/p/11222676.html
Copyright © 2011-2022 走看看