• 鸽巢原理(入门优化) 之 ahu oj 定位赛


    题目位置:请点击这里

    解决方法同:请点击这里

    对于此题,感觉很坑,关键要解决的问题是:设计代码,谨防TLE。。。

     1 #include <iostream>
     2 #include <cstdlib>
     3 #include <cstdio>
     4 #include <vector>
     5 #include <algorithm>
     6 using namespace std;
     7 const int MAX_N = 100000, INF = 0x3f3f3f3f;
     8 int N;
     9 struct node
    10 {
    11     int mysum, myfirst, mysecond;
    12     node() { mysum = 0; myfirst = INF; mysecond = INF; }
    13 };
    14 bool Cmp(const node &n1, const node &n2) {
    15     if (n1.myfirst == n2.myfirst)
    16         return n1.mysecond < n2.mysecond;
    17     else return n1.myfirst < n2.myfirst;
    18 }
    19 
    20 int main(){
    21     //freopen("input.txt", "r", stdin);
    22     //freopen("output.txt", "w", stdout);
    23     scanf("%d", &N);
    24     vector<node> mynode(N);
    25     int i, temp, sum = 0;
    26     for (i = 0; i < N; i++){
    27         scanf("%d", &temp);
    28         sum = (sum + temp) % N;
    29         if (0 == sum) break;
    30         if (0 == mynode[sum].mysum) {
    31             mynode[sum].mysum++;
    32             mynode[sum].myfirst = i + 1;
    33         }
    34         else {
    35             if (1 == mynode[sum].mysum) {
    36                 mynode[sum].mysum++;
    37                 mynode[sum].mysecond = i + 1;
    38             }
    39         }
    40     }
    41     if (0 == sum)
    42         printf("%d %d
    ", 1, i+1);
    43     else {
    44         sort(mynode.begin(), mynode.end(), Cmp);
    45         for (int i = 0; i < N; i++) {
    46             if (2 == mynode[i].mysum) {
    47                 printf("%d %d
    ", mynode[i].myfirst + 1, mynode[i].mysecond);
    48                 break;
    49             }
    50         }
    51     }
    52     return 0;
    53 }


  • 相关阅读:
    oracle-PL/SQL1
    ROS之Gazebo
    ROS之urdf 2
    ROS之urdf 1
    ROS 面部识别
    ROS x Arduino
    STM32F0的低功耗模式
    项目进度
    C++函数返回为引用
    STM32F0的多路ADC 无DMA
  • 原文地址:https://www.cnblogs.com/shijianming/p/4140869.html
Copyright © 2020-2023  润新知