1. 程式人生 > >杭電1861(坑)

杭電1861(坑)

神坑之題啊啊啊啊啊啊啊啊啊啊啊!!!!!錯4發!~!~!~
經驗之談:資料一定找各種測試,多測試幾組防止WA,第一次輸入0時要測試;可用輸出法看是否進入迴圈、迴圈幾次等。
此題沒什麼技巧,把資料輸入存進結構體num[i]陣列,求當天時間(小時*60+分鐘)。用巢狀迴圈,一個for (i)迴圈外記錄判斷S,一個for (j) 迴圈判斷基礎E,如果 [i] [j] 船號相等而且一個E一個S,用時間相減並且標記
num[i].ch為1,如果ch正確,就代表該i的船號借出歸還正確,就可以加上這段時間,並且總借船量+1,求總時間除以總借船量。
首先要注意平均值結果四捨五入 : y=(int)(x+0.5)>(int)x?(int)x+1:(int)x
其次注意分母為零時!應另外分開輸出;

給出一組測試資料:
1 S 08:00
1 E 09:00
1 S 10:00
1 E 11:00
1 S 11:00
1 E 12:00
0 E 17:00

#include<stdio.h>
struct node
{
    int count;
    int n;
    int t1;
    int t2;
    int t;
    char k;
    int ch;
}num[10005]={0,0,0,0,0,0,};
int main()
{
    while(~scanf("%d",&num[0].n)&&num[0].n!=-1)
    {
        scanf(" %c
%d:%d"
,&num[0].k,&num[0].t1,&num[0].t2); num[0].count=0; int mark=0; int sum_1=0; double sum_2=0.0; num[0].t=num[0].t1*60+num[0].t2; if(num[0].n==0) { printf("0 0\n"); continue; } for(int i=1; ; i++ ) { scanf("%d
%c %d:%d"
,&num[i].n,&num[i].k,&num[i].t1,&num[i].t2); num[i].t=num[i].t1*60+num[i].t2; num[i].count=0; num[i].ch=0; if(num[i].n==0) { mark=i; break; } } for(int i=0;i<mark;i++ ) { for(int j=i+1; j<mark;j++) { if(num[i].n==num[j].n&&num[i].k=='S'&&num[j].k=='E') { num[i].count=num[j].t-num[i].t; j=mark; num[i].ch=1; } } if(num[i].ch&&num[i].k=='S'&&num[i].n!=0) { sum_2=num[i].count*1.0+sum_2; ++sum_1; } } if(sum_1==0) { printf("0 0\n"); continue; } sum_2=sum_2/sum_1; sum_2=(int)(sum_2+0.5)>(int)sum_2?(int)sum_2+1:(int)sum_2; printf("%d %d\n",sum_1,(int)sum_2); } }

相關推薦

1861

神坑之題啊啊啊啊啊啊啊啊啊啊啊!!!!!錯4發!~!~!~ 經驗之談:資料一定找各種測試,多測試幾組防止WA,第一次輸入0時要測試;可用輸出法看是否進入迴圈、迴圈幾次等。 此題沒什麼技巧,把資料輸入

OJHDOJ1047題:Integer Inquiry大數操作——加運算

題意: 先輸入一個非負正整數n,n為測試例項次數,每次輸入多行大數,最後一行為0表示此次輸入結束,計算0以前若干行的大數和,並且輸出。共n行輸出,第兩行輸出之間有一個空行。 示例輸入: 1 123456789012345678901234567890 12345678901

1016dfs增所廣收

</pre><div class="panel_content" style="height: auto; margin: 0px; padding: 0px 20px; font-size: 14px; font-family: 'Times New R

ACMHDUOJ試題分類

杭電ACM試題分類  第一篇 1001 這個就不用說了吧1002 簡單的大數1003 DP經典問題,最大連續子段和1004 簡單題1005 找規律(迴圈點)1006 感覺有點BT的題,我到現在還沒過1007 經典問題,最近點對問題,用分治1008 簡單題1009 貪心101

奮戰ACMDAY121019

這道題不難,但是很考驗基本功。我基本功不紮實,所以還是栽了跟頭…… 一開始用大數翻倍法求LCM,結果很顯然……TLE…… 後來改進了,用GCD求LCM,但是迴圈時漏了遞減計數,一直死迴圈……還是TLE…… 後來好不容易改過來了,結果……WA了…… 忘了32-bit下溢位問題

奮戰ACMDAY51008

被前兩題虐身虐心後看到這題簡直難以置信,怎麼可以這麼水!!一次AC不解釋!!難道老師是故意放這麼道水題來安慰我們受傷的小心靈?? Elevator #include <iostream> using namespace std; int main() {

oj1000C++

HDU1000 原題翻譯: 問題描述:計算A+B 輸入:每一行包含兩個整數A和B,(輸入)直到檔案末尾。 輸入:對於每一種(輸入)情況,在一行輸出A+B的值。 輸入舉例:1 1 輸出舉例:2 AC原始碼:(除錯環境:VS2017 Community) #inc

Naive Operations HDU6315 多校2G

如果 long dfs cst while upd for ati min 讓ci = ai / bi, 求sum(ci)的值,因為每次 ai 都是加一的,那麽我可以用一顆線段樹來維護每個 i 位置的 ai 距離達到 bi 還需要的數的最小值,更新是每次都減一,如果我某一個

OJ2056求倆矩形相交的面積

Problem Description Given two rectangles and the coordinates of two points on the diagonals of each rectangle,you have to calculate the area of

1008 電梯問題Elevator

Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30095 Accepted Submission(s): 16272 Problem

1047Integer Inquiry

test1 4 123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0 123456789012345678901234567890 1234

1575矩陣快速冪模板

Problem Description A為一個方陣,加粗樣式則Tr A表示A的跡(就是主對角線上各項的和),現要求Tr(A^k)%9973。 Input 資料的第一行是一個T,表示有T組資料。 每組

Tr A - 1575矩陣快速冪模板

題目連結: Tr A-杭電1575 Problem Description A 為一個方陣,則 Tr A 表示 A 的跡(就是主對角線上各項的和),現要求Tr(A^k)%9973。   Input 資料的第一行是一個 T,表示有 T 組資料

-2191 完全揹包轉換01揹包

急!災區的食物依然短缺! 為了挽救災區同胞的生命,心繫災區同胞的你準備自己採購一些糧食支援災區,現在假設你一共有資金n元,而市場有m種大米,每種大米都是袋裝產品,其價格不等,並且只能整袋購買。 請問:你用有限的資金最多能採購多少公斤糧食呢? 後記: 人生是一個充滿了變數的生命過程,天災、人禍、病痛是我們生命歷

1272並查集判斷環

上次Gardon的迷宮城堡小希玩了很久(見Problem B),現在她也想設計一個迷宮讓Gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有一個通道連通了房間A和B,那麼既可以通過它從房間A走到房間B,也可以通過它從房間B走到

2028C程式碼

       討論版上有些人說要用unsigned才行,不知道為啥,不過反正我沒用它也AC了,但是!我錯了好幾次才正確的!因為偷懶想著兩個數的最小公倍數可以先求最大公約數再用乘積除以它就好了,然後就

2055暑假第一天

疑難點(自認為):while((c=getchar())!='\n')//c接收的值是輸入第一個字元後按下的回車換行符'\n',c是不會顯示的 getchar()是字元輸入函式 :輸入一個字母字元,數

OJ2063 基礎二分圖匹配月老降臨

過山車 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15700    Accepted Submissi

ACM1114完全揹包

題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1114 題目大意:有一個存錢罐,給出它的重量和裝滿硬幣的重量,然後給出裡面裝的硬幣的種類數,並給出每種硬

1272並查集+判斷是否存在環形區域

小希的迷宮(難度:1) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description 上次Gardon的迷宮城