1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 /*题意:求所有蚂蚁走下长杆的最长时间和最短时间*/ 7 8 /*最短时间:先求出每个蚂蚁走下杆的最短时间。然后求出最短时间的最大值 9 最长时间:先求每个蚂蚁走下杆的最长时间。然后求出最长时间的最大值*/ 10 11 int max(int a,int b){ 12 if (a > b)return a; 13 else 14 return b; 15 } 16 int min(int a,int b){ 17 if(a < b)return a; 18 else return b; 19 } 20 class Ant{ 21 private: 22 int poleLenth; 23 int antNum; 24 int minTime ; 25 int maxTime ; 26 public: 27 void readData(); 28 void process(); 29 }; 30 void Ant::readData(){ 31 int cases; 32 scanf("%d",&cases); 33 while(cases--){ 34 minTime = -1; 35 maxTime = -1; 36 scanf("%d%d",&poleLenth,&antNum); 37 for(int i = 0;i < antNum;i++){ 38 process(); 39 } 40 cout<<minTime<<" "<<maxTime<<endl; 41 } 42 } 43 void Ant::process(){ 44 int local; 45 scanf("%d",&local); 46 minTime = max(minTime,min(local,poleLenth - local)); 47 maxTime = max(maxTime,max(local,poleLenth - local)); 48 } 49 50 int main() 51 { 52 Ant ant; 53 ant.readData(); 54 return 0; 55 }
本文介绍了一种通过编程解决蚂蚁行走问题的方法,旨在求出所有蚂蚁从长杆两端落下所需的最短时间和最长时间。该解决方案使用了C++编程语言,并通过定义最大值和最小值函数来实现对每只蚂蚁所需时间的计算。
403

被折叠的 条评论
为什么被折叠?



