国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java 藍(lán)橋杯 螞蟻感冒

2019-11-08 00:53:32
字體:
供稿:網(wǎng)友
問題描述  長100厘米的細(xì)長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。  每只螞蟻都只能沿著桿子向前爬,速度是1厘米/秒。  當(dāng)兩只螞蟻碰面時(shí),它們會(huì)同時(shí)掉頭往相反的方向爬行。  這些螞蟻中,有1只螞蟻感冒了。并且在和其它螞蟻碰面時(shí),會(huì)把感冒傳染給碰到的螞蟻。  請你計(jì)算,當(dāng)所有螞蟻都爬離桿子時(shí),有多少只螞蟻患上了感冒。輸入格式  第一行輸入一個(gè)整數(shù)n (1 < n < 50), 表示螞蟻的總數(shù)。  接著的一行是n個(gè)用空格分開的整數(shù) Xi (-100 < Xi < 100), Xi的絕對值,表示螞蟻離開桿子左邊端點(diǎn)的距離。正值表示頭朝右,負(fù)值表示頭朝左,數(shù)據(jù)中不會(huì)出現(xiàn)0值,也不會(huì)出現(xiàn)兩只螞蟻占用同一位置。其中,第一個(gè)數(shù)據(jù)代表的螞蟻感冒了。輸出格式  要求輸出1個(gè)整數(shù),表示最后感冒螞蟻的數(shù)目。樣例輸入35 -2 8樣例輸出1樣例輸入5-10 8 -20 12 25樣例輸出3說明:關(guān)鍵就是如果兩只螞蟻相遇,然后題目中說是互相掉頭返回走,其實(shí)就是可以理解為兩只螞蟻一直按照同一方向走,不存在相撞掉頭的情況,因?yàn)槿绻麅芍晃浵伓疾桓忻埃敲雌鋵?shí)就是可以理解為兩只螞蟻掉頭其實(shí)就是相當(dāng)于兩只螞蟻繼續(xù)往右走,所以如果有一只螞蟻感冒,相遇,就會(huì)使得兩只都感冒,也就是在最初的那只感冒的螞蟻基于按照同一方向走,然后多了一直向反方向走的螞蟻,這樣理解題目就簡單了。解題中,就按照初始螞蟻的位置劃分左右,然后如果初始螞蟻向右,那么這個(gè)螞蟻的位置的右邊的所有向左走的螞蟻都要感冒,而只要這個(gè)螞蟻右邊有一只是向左的(記做A螞蟻),那么這個(gè)第一只螞蟻的左邊的所有向右的螞蟻都感冒,因?yàn)橛辛薃螞蟻。所以還有一種情況是沒有A螞蟻的存在,那么就只有1只了
import java.util.*;public class Main{		public static void main(String args[])	{		int L=0,R=0;  		Scanner cn=new Scanner(System.in);		int n=cn.nextInt();		int []kk=new int[n+1];		for(int i=1;i<=n;i++)			kk[i]=cn.nextInt();		for(int i=2;i<=n;i++)		{			if(kk[1]>0)			{				if(Math.abs(kk[1])<Math.abs(kk[i])&&kk[i]<0)					R++;				if(Math.abs(kk[1])>Math.abs(kk[i])&&kk[i]>0)					L++;			}			else			{				if(Math.abs(kk[1])<Math.abs(kk[i])&&kk[i]<0)					R++;				if(Math.abs(kk[1])>Math.abs(kk[i])&&kk[i]>0)					L++;			}		}		if(L!=0||R!=0)System.out.PRintln(R+L+1);		else System.out.println(1);	}		}			
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 定南县| 南川市| 双江| 津市市| 灵武市| 唐海县| 柞水县| 江门市| 龙胜| 马山县| 苏州市| 乌恰县| 北宁市| 巫山县| 福鼎市| 噶尔县| 泸西县| 定安县| 桑日县| 郑州市| 建德市| 双峰县| 临沧市| 南开区| 万荣县| 淮阳县| 金寨县| 吴江市| 黎城县| 镇雄县| 蛟河市| 贡嘎县| 固始县| 金平| 榕江县| 宁强县| 广南县| 淳安县| 邻水| 佛坪县| 蒙城县|