zoukankan      html  css  js  c++  java
  • 解题报告:POJ1852 Ants

    原题链接:POJ1852

    解析:本题需要自己建立模型,思考算法。本题要求最后一只蚂蚁掉落的最小时间和最大时间,如果两只蚂蚁相遇,他们会掉头,但是我们可以将它们看作没有相遇。因为a遇到b后掉头,把a看作b,b看作a,就相当于b继续走,a也继续走,只是两只蚂蚁交换了而已,而我们不区别蚂蚁个体。

    错误报告:

    • 在求最大时间的时候,我一直在纠结于一只蚂蚁的行进路线,即它们相遇后回头,再相遇再回头。。。这样根本无从下口
    • 最后一只蚂蚁掉落的最短时间,是所有蚂蚁掉落最短时间中的最大时间
    • 用cin会超时,scanf则可以通过,可见像这种大数据还是尽量用scanf,甚至自写read函数

    代码示例:

    #include<iostream>
    #include<cstdio>
    using namespace std;
    const int inf = 2e9;
    int main()
    {
    	int t;
    	scanf("%d",&t);
    	while(t--){
    		int len,n;
    		scanf("%d%d",&len,&n);
    		int maxTime = -inf,minTime = -inf;
    		for(int i = 0;i < n;i++){
    			int p;
    			scanf("%d",&p);
    			maxTime = max(maxTime,max(p,len-p));
    			minTime = max(minTime,min(p,len-p));
    		}
    		printf("%d %d
    ",minTime,maxTime);
    	}
    	return 0;
    }
  • 相关阅读:
    机器学习概要
    Latex公式压缩
    MATLAB多项式运算
    利用MathType为公式编号并引用
    MATLAB符号对象与符号运算
    MATLAB矩阵运算
    MATLAB绘制函数图
    MATLAB程序控制语句
    MATLAB关系运算符和逻辑运算符
    Raspberry pi之wifi设置-3
  • 原文地址:https://www.cnblogs.com/long98/p/10352188.html
Copyright © 2011-2022 走看看