กระทู้ที่น่าสนใจ
0 สมาชิก และ 2 บุคคลทั่วไป กำลังดูหัวข้อนี้
ค่าเขียนล่ะไม่มีตังค์จ่ายก้อไม่เขียน
ของแถมจากโจทย์ฝึกสัปดาห์ก่อน อ.ให้เวลาคิดสัปดาห์นึง อย่าง ILHAM ชั่วโมงเดียวก็เสร็จร้านสั่งทำเค้กแห่งหนึ่งแถวมหาวิทยาลัยขอนแก่น รับใบสั่งเค้กเฉพาะช่วงที่มีการแข่งขันคอมพิวเตอร์โอลิมปิกของ สอวน เท่านั้น เจ้าของร้านเค้กนี้จะผลิตเค้กขนาดหนึ่ง ปอนด์ แต่แบ่งขายเป็นห้าแบบคือ เต็มปอนด์ เศษสามส่วนสี่ปอนด์ ครึ่งปอนด์ หนึ่งส่วนสี่ปอนด์ และ หนึ่งส่วนแปดปอนด์ เผอิญว่าเจ้าของร้านเค้กเป็นนักคณิตศาสตร์ที่รักความสวยงามและความอร่อย ดังนั้นเวลาขายเค้กแต่ละครั้งเจ้าของร้านจะไม่ยอมเอาเค้กแบบที่เล็กกว่ามารวมให้ได้ขนาดของเค้กตามที่ลูกค้าต้องการ สมมุติว่า ถ้าลูกค้าสั่งเค้กขนาดเศษสามส่วนสี่ปอนด์ เจ้าของร้านก็จะไม่นำเค้กขนาดหนึ่งส่วนสี่ปอนด์ให้ลูกค้าไปสามก้อนแต่จะให้เค้กขนาดสามส่วนสี่ปอนด์ที่มีอยู่แก่ลูกค้าเท่านั้น และถ้าไม่มีเค้กขนาดสามส่วนสี่ปอนด์อยู่เลย เจ้าของร้านจะเอาเค้กขนาดเต็มก้อนมาแบ่งแล้วให้ลูกค้าไป โดยเก็บเศษที่เหลือไว้เผื่อให้กับลูกค้าคนอื่นที่อาจต้องการแบบหนึ่งส่วนสี่ปอนด์ หรือไว้เพื่อแบ่งให้ลูกค้าที่ต้องการขนาดหนึ่งส่วนแปดปอนด์ ด้วยความคุ้นเคยของลูกค้า ลูกค้าจะสั่งเค้กเป็นจำนวนเต็ม a b c d e สำหรับก้อนของขนาดเค้กเต็มปอนด์ เศษสามส่วนสี่ปอนด์ ครึ่งปอนด์ หนึ่งส่วนสี่ปอนด์ และ หนึ่งส่วนแปดปอนด์ ตามลำดับ (0 ≤ a,b,c,d,e ≤ 10000) ในวันหนึ่งจะมีรายการสั่งของทั้งหมดจากลูกค้า n ราย เจ้าของร้านจะรับรายการสั่งของวันนี้เพื่อคำนวณว่าจะต้องทำเค้กทั้งหมดกี่ปอนด์เพื่อให้เพียงพอในการส่งของให้ลูกค้าในวันถัดไป task จงเขียนโปรแกรมเพื่อรับข้อมูลรายการสั่งเค้กของลูกค้าและคำนวณว่าจะต้องทำเค้กอย่างน้อยที่สุดกี่ปอนด์input บรรทัดแรกมีจำนวนเต็ม n (1 ≤ n ≤ 10) ต่อจากนั้น n บรรทัดจะเป็นข้อมูลของลูกค้าคนที่ 1 ถึงคนที่ n โดยแต่ละบรรทัดจะประกอบด้วย จำนวนเต็ม a b c d e (0 ≤ a,b,c,d,e ≤ 10000) โดยแต่ละค่าจะคั่นด้วยช่องว่างหนึ่งช่อง output มีบรรทัดเดียว ประกอบด้วยจำนวนเต็มหนึ่งค่า ซึ่งเป็นจำนวนของเค้กเต็มปอนด์ที่น้อยที่สุดที่เจ้าของร้านต้องเตรียมให้เพียงพอตามรายการที่ลูกค้าสั่ง sample input 3 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0sample output 4 sample input 4 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 sample output 2 แหล่งที่มา: การแข่งขันคอมพิวเตอร์โอลิมปิก สอวน. ครั้งที่ 3
/*786*/#include<stdio.h>void main(){ int x[5][10],y,i,j,k,l=0,m,n,o,z[8][1000]={0}; clrscr(); scanf("%d",&y); for(i=0;i<y;i++)for(j=0;j<5;j++) {scanf("%d",&x[i][j]);x[i][j]*=(j>3?1:2*(4-j));} for(i=0;i<5;i++)for(j=0;j<y;j++)for(m=0;m<x[j][i]/(i>3?1:2*(4-i));m++){for(o=0;o<=l;o++){for(k=0;k<8;k++) {if(!z[k][o]&&8-(i>3?1:2*(4-i))>=k){for(n=0;n<(i>3?1:2*(4-i));n++)z[n+k][o]++;goto b;} else if(8-(i>3?1:2*(4-i))>=k)goto c;else l++;goto a;c:}a:}b:}j=0; for(i=0;i<l;i++)if(z[0][i])j++; printf("\n%d",j); getch();}