zoukankan      html  css  js  c++  java
  • POJ 1852 Ants 思维

    题目链接 http://poj.org/problem?id=1852

    分析

    我个人感觉最小的那个挺好算的,就每个人都各自朝离自己最近的那端去走 跳崖 呗,主要是最大的,当时卡了我一小会儿,第二个样例挺不好模拟的,蚂蚁太多了,看第一个样例叭。我用长度不同的线段来区分下每个蚂蚁,我不会画蚂蚁

    这是刚开始,求最小的时候就这样。

    关键是,求最大的时候是什么样子。根据经验,它肯定是碰撞之后才会取得最大,所以让6,7和2去对碰。

    2和6对碰

    对碰完就没2啥事了,2就可以往后走了。

    然后6再和7对碰,你会发现这么画的话的确应该是最大,但好像看不出啥规律来。
    这是因为犯了一个小错误,既然每只蚂蚁都是一样的,还区分它干嘛??
    于是第一次碰撞

    然后碰撞完

    ?????????????????因为我没标号所以你也看不出来哪只是哪只,不过这并不影响最终结果,所以由上述两张图可以清晰看出,碰撞是没啥用的,除了骗着你玩。。。。所以最大的那个就是距离最远的蚂蚁走的路程。

    #include<iostream> 
    using namespace std; 
    int main(){ 
        ios::sync_with_stdio(false); 
        int t; cin>>t; 
        while(t--){ 
            int l,n,Max=0,Min=0; cin>>l>>n; int mid=1; 
            for(int i=1;i<=n;i++){ 
                int a; cin>>a; 
                Max=max(max(a,l-a),Max); Min=max(min(a,l-a),Min); 
            }
            cout<<Min<<" "<<Max<<'
    '; 
        } 
    }
    
  • 相关阅读:
    自定义ProgressBar
    Anroid开发中常用快捷键
    Intent用法
    IO(Input Output)流
    自定义Dialog
    仿UC点击两次返回键退出程序
    横竖屏切换时Activity的生命周期
    单例模式
    Timer用法
    关于数组
  • 原文地址:https://www.cnblogs.com/anyixing-fly/p/12702808.html
Copyright © 2011-2022 走看看