zzuli OJ 2354: 小愛的愛情難題
阿新 • • 發佈:2018-12-26
情況說明:18級新生周賽(2)
題目描述
古希臘哲學大師蘇格拉底的三個弟子曾求教老師,怎樣才能找到理想的伴侶。蘇格拉底沒有正面回答,卻讓他們走田埂,只許前進,且只給一個機會,要求是選摘一個最好最大的穗。第一個弟子沒走幾步,就看見一個又大又漂亮的穗,高興地摘下來了。但他繼續前進時,發現前面有許多比他的那個大,但已經沒有機會,只得遺憾地走完全程。第二個弟子吸取了教訓,每當他要摘時,總要提醒自己,後邊還有更好的。可當他快到終點時,才發現機會全錯過了。第三位把麥田分為三份,走第一個1/3時,只看不摘,分出大、中、小三類麥穗,在第二個1/3裡驗證是否正確,在第三個1/3裡選擇了麥穗中最大最美麗的一支。
小愛同學也想找到理想的伴侶,並且作為一個cs系的女生,她是不缺乏優秀的追求者的。她對這個麥穗問題很感興趣,她想先模擬一遍第一個弟子選麥穗的過程,策略是:選取第一次遇到的最大的麥穗,也就是一旦發現即將遇到的那個麥穗,比當前的麥穗小,就立馬決定選擇當前的這個。
輸入
多組輸入,每組共兩行
第一行輸入一個整數 N(0 < N < 100),代表麥穗的數量, 若 N 為零代表輸入結束。
第二行輸入 N 個整數,代表每個每個麥穗的大小。
輸出
輸出小愛選擇了第幾個麥穗。你知道的,程式設計師都是從0開始數數的。
樣例輸入
5
2 1 100 1000 10000
4
1 2 3 2
0
樣例輸出
0
2
#include<stdio.h> int main() { int n; while(scanf("%d",&n),n!=0) { int t; scanf("%d",&t); int i,j; for(i=1;i<n;i++) { int a; scanf("%d",&a); if(a<t) { printf("%d\n",i-1); break; } else { int temp=t; t=a; a=t; } } if(i==n)//判斷是否是遞增數列 printf("%d\n",n-1); for(j=i+1;j<n;j++)//讀入後面無用的資料 scanf("%d",&t); } return 0; }