7.11_SUPER STUPID CROSS

这道题目可以对前1000个进行排序,然后找出最大的横边和竖边,从头开始搜索,一旦找到匹配的就停止搜索输出,而一旦搜到尾,还没有找到匹配的,就输出那句话“ Human intelligence is really terrible ”。

#include<iostream>

#include<cstdio>

#include<algorithm>

using namespace std;

​

int n,an,bn,ans;

struct hen{

    int x;

    int y1,y2;

}h[100010];

struct shu{

    int y;

    int x1,x2;

}s[100010];

​

bool cmph(hen a,hen b){

    return a.y2-a.y1>b.y2-b.y1;

}

bool cmps(shu a,shu b){

    return a.x2-a.x1>b.x2-b.x1;

}

​

int main(){

    cin>>n;

    int i,j,k,xx1,yy1,xx2,yy2;

    for(i=0;i<n;i++){

        scanf("%d%d%d%d",&xx1,&yy1,&xx2,&yy2);

        if(xx1==xx2){h[an].x=xx1;h[an].y1=min(yy1,yy2);h[an].y2=max(yy1,yy2);an++;}

        else{s[bn].y=yy1;s[bn].x1=min(xx1,xx2);s[bn].x2=max(xx1,xx2);bn++;}}

    sort(h,h+an,cmph);sort(s,s+bn,cmps);

    for(i=0;i<min(an,1000);i++)

        for(j=0;j<min(bn,1000);j++){

            if(s[j].x2-s[j].x1<=ans*2||h[i].y2-h[i].y1<=ans*2)continue;

            int r=min(min(s[j].x2-h[i].x,h[i].x-s[j].x1),min(h[i].y2-s[j].y,s[j].y-h[i].y1));

            if(ans<r)

                ans=r;

        }

    if(ans)

        cout<<ans<<endl;

    else

        cout<<"Human intelligence is really terrible"<<endl;

    return 0;

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LVGL (LittlevGL) 是一个轻量级的嵌入式图形库,主要用于开发可移植的、低内存占用的用户界面。版本7.11引入了msg_box功能,这是一个用于显示消息框的功能,常用于简单的提示信息、确认对话框或错误处理。 `msg_box`函数的主要用途是在设备上弹出一个窗口,其中包含文本和可能的按钮供用户交互。该函数通常包含以下几个参数: 1. **lv_obj_t** `parent`: 父窗口,如果没有提供则默认为当前活动窗口(root)。 2. **const char*` text`: 显示在消息框中的文本。 3. **lv_gb_style_t** `style`: 指定的消息框样式。 4. **uint8_t** `btns`: 可能的按钮类型(如 LV_MSGBOX_OK, LV_MSGBOX_OK_CANCEL等)。 5. **void(*)()** `cb`: 点击按钮后的回调函数。 6. **int32_t** `button`: 如果提供,设置默认选中的按钮编号。 示例代码(在LVGL环境中使用): ```c #include "lvgl.h" // 创建一个消息框并显示 static void show_msg_box(lv_obj_t * parent) { lv_msgbox_options_t options = {0}; options.title = "Title"; // 设置标题 options.text = "This is a message box"; // 设置文本 // 带有确定按钮的选项 options.btns = LV_MSGBOX_OK; options.callback = msg_box_click_handler; // 自定义点击事件处理器 if (lv_msgbox_create(parent, &options) == LV_SUCCESS) { lv_msgbox_set_visible(parent, true); // 显示消息框 } } // 点击事件处理器 static void msg_box_click_handler(lv_obj_t * obj, uint32_t event) { switch (event) { case LV_EVENT_CLICKED: if (lv_obj_is_type(obj, LV_OBJ_TYPE_BTN)) { if (lv_obj_get_id(obj) == LV_MSGBOX_ID_OK) { // 用户点击"确定" break; } } // 其他按键逻辑... break; default: break; } } // 主程序入口 int main(void) { /* 初始化LVGL */ lv_init(); /* 创建一个屏幕 */ lv_scr_t * scr = lv_scr_create(); /* 添加消息框到主屏幕 */ show_msg_box(NULL); // 如果你想让消息框出现在父窗口的顶部,传递NULL /* 进入无限循环 */ while (true) { lv_task_handler(); // 处理LVGL的任务队列 } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值