zoukankan      html  css  js  c++  java
  • 鸽巢原理(入门优化) 之 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 }


  • 相关阅读:
    day03--变量与基本数据类型
    day02--编程语言的分类与Python开发环境的搭建
    day01--编程与计算机组成原理
    基本数据类型操作
    python格式化字符串
    Python垃圾回收机制
    day04作业
    day03作业
    Pycharm2018安装与激活
    Python入门-python浅谈
  • 原文地址:https://www.cnblogs.com/shijianming/p/4140869.html
Copyright © 2011-2022 走看看