zoukankan      html  css  js  c++  java
  • cf378D(stl模拟)

    题目链接:http://codeforces.com/contest/733/problem/D

    用map<pair<int, int>int>标记(第一次用~)...

    代码:

      1 #include <bits/stdc++.h>
      2 #define MAXN 100001
      3 using namespace std;
      4 
      5 typedef pair<int, int> pair1;
      6 typedef map<pair1, int> map1;
      7 
      8 struct gg{
      9     int x, y;
     10     int xx, yy;
     11     int xxx, yyy;
     12 }jj[MAXN*3];
     13 
     14 int main(void){
     15     int n, k=1;
     16     map1 mp;
     17     for(int i=0; i<MAXN; i++){
     18         jj[i].x=jj[i].y=jj[i].xx=jj[i].yy=jj[i].xxx=jj[i].yyy=0;
     19     }
     20     scanf("%d", &n);
     21     for(int i=1; i<=n; i++){
     22         int a[3], ok1=0, ok2=0, ok3=0;
     23         scanf("%d%d%d", &a[0], &a[1], &a[2]);
     24         sort(a, a+3);
     25         if(a[0]==a[2]){
     26             ok1=1;
     27         }
     28         if(a[0]==a[1]){
     29             ok2=1;
     30         }
     31         if(a[1]==a[2]){
     32             ok3=1;
     33         }
     34         int flag1=mp[pair1(a[0], a[1])];
     35         if(flag1==0){
     36             jj[k].x=a[0];
     37             jj[k].y=a[1];
     38             jj[k].xx=a[2];
     39             jj[k].xxx=i;
     40             mp[pair1(a[0], a[1])]=k;
     41             k++;
     42         }else{
     43             if(jj[flag1].xx>jj[flag1].yy){
     44                 swap(jj[flag1].xx, jj[flag1].yy);
     45                 swap(jj[flag1].xxx, jj[flag1].yyy);
     46             }
     47             if(jj[flag1].xx<a[2]){
     48                 jj[flag1].xx=a[2];
     49                 jj[flag1].xxx=i;
     50             }
     51         }
     52         if(ok1){
     53             continue;
     54         }
     55         if(!ok3){
     56             int flag2=mp[pair1(a[0], a[2])];
     57             if(flag2==0){
     58                 jj[k].x=a[0];
     59                 jj[k].y=a[2];
     60                 jj[k].xx=a[1];
     61                 jj[k].xxx=i;
     62                 mp[pair1(a[0], a[2])]=k;
     63                 k++;
     64             }else{
     65                 if(jj[flag2].xx>jj[flag2].yy){
     66                     swap(jj[flag2].xx, jj[flag2].yy);
     67                     swap(jj[flag2].xxx, jj[flag2].yyy);
     68                 }
     69                 if(jj[flag2].xx<a[1]){
     70                     jj[flag2].xx=a[1];
     71                     jj[flag2].xxx=i;
     72                 }
     73             }
     74         }
     75         if(ok2){
     76             continue;
     77         }
     78         int flag3=mp[pair1(a[1], a[2])];
     79         if(flag3==0){
     80             jj[k].x=a[1];
     81             jj[k].y=a[2];
     82             jj[k].xx=a[0];
     83             jj[k].xxx=i;
     84             mp[pair1(a[1], a[2])]=k;
     85             k++;
     86         }else{
     87             if(jj[flag3].xx>jj[flag3].yy){
     88                 swap(jj[flag3].xx, jj[flag3].yy);
     89                 swap(jj[flag3].xxx, jj[flag3].yyy);
     90             }
     91             if(jj[flag3].xx<a[0]){
     92                 jj[flag3].xx=a[0];
     93                 jj[flag3].xxx=i;
     94             }
     95         }
     96      }
     97     int cc=0, dd=0, ee=0;
     98     for(int i=1; i<k; i++){
     99         int cnt=min(jj[i].x, jj[i].y);
    100         cnt=min(cnt, jj[i].xx+jj[i].yy);
    101         if(cc<cnt){
    102             cc=cnt;
    103             dd=jj[i].xxx;
    104             ee=jj[i].yyy;
    105         }
    106     }
    107     if(dd&&ee){
    108         printf("2
    %d %d
    ", dd, ee);
    109     }else{
    110         printf("1
    %d
    ", dd+ee);
    111     }
    112     return 0;
    113 }
  • 相关阅读:
    Arduino mega 2560驱动安装失败(没有建立对验证码(TM)签名的目录的发布者信任)的解决方法
    Submile text3 安装使用技巧
    window.onload
    JS简单示例
    python类和对象的底层实现
    python类中方法加单下划线、双下划线、前后双下滑线的区别
    linux下json工具jq
    Django使用自定义的authentication登录认证
    django admin
    linux网卡桥接问题与docker网卡桥接问题
  • 原文地址:https://www.cnblogs.com/geloutingyu/p/6024263.html
Copyright © 2011-2022 走看看