2723. Những con đường quanh nông trang Mã bài: VRATF
Wednesday, August 27, 2014
2723. Những con đường quanh nông trangMã bài: VRATF |
Các con bò của nông dân John có sở thích là hay đi khám phá những vùng xung quanh nông trang. Ban đầu, tất cả N (1 <= N <= 1,000,000,000) con bò tập trung thành 1 nhóm và cùng bắt đầu chuyến đi trên 1 con đường. Cho tới khi gặp một ngã ba đường thì chúng đôi khi chọn cách chia làm 2 nhóm nhỏ hơn ( mỗi nhóm ít nhất 1 bò ) và mỗi nhóm lại tiếp tục hành trình trên con đường của nhóm chúng. Khi một trong những nhóm này gặp 1 ngã ba khác thì nhóm này lại có thể tách ra tiếp, và cứ như vậy.
Các con bò đã hình thành nên 1 quy tắc về việc chia nhóm như sau: nếu chúng có thể chia thành 2 nhóm mà chênh lệch số bò của 2 nhóm là đúng bằng K (1 <= K <= 1000) thì tại ngã ba đó chúng sẽ chia làm 2; nếu không thì chúng sẽ dừng cuộc hành trình và đứng ở đó nhấm nháp cỏ non.
Giả sử rằng luôn có những ngã ba mới trên các con đường, hãy tính xem cuối cùng có bao nhiêu nhóm bò tất cả.
Dữ liệu
- Dòng 1: 2 số nguyên cách nhau bởi dấu cách: N và K
Kết quả
- Dòng 1: Một số nguyên cho biết số lượng nhóm bò sau cùng.
Ví dụ
Dữ liệu 6 2 Giải thích: Có 6 con bò và độ chênh lệch khi xét chia nhóm là 2. Kết quả 3 Giải thích: Cuối cùng có 3 nhóm bò (1 nhóm có 2 bò, 1 nhóm có 1 và 1 nhóm có 3 ). 6 / \ 2 4 / \ 1 3
Được gửi lên bởi: | Duc |
Ngày: | 2008-05-24 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 256MB |
Cluster: | Pyramid (Intel Pentium III 733 MHz) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ERL JS NODEJS PERL 6 |
Nguồn bài: | USACO US-Open 2008 - Bảng Bạc |
#include <stdio.h>
#include<algorithm>
unsigned long n,t[10000],dau=0,cuoi=1,dem=0;
int k;
void
chovao()
{
t[cuoi]=(t[dau]+k)/2;
t[cuoi+1]=(t[dau]-k)/2;
cuoi+=2;
}
void
xuly()
{
t[dau]=n;
while
(dau!=cuoi)
{
if
((t[dau]-k)%2==0&&t[dau]>=(k+2)) chovao(); else
dem++;
dau++;
}
}
int
main()
{
scanf("%lu%d",&n,&k);
xuly();
printf("%lu",dem);
}

- Câu 2: Cho dãy số {a1,a2,…an} với n<=100. Viết chương trình thực hiện các công việc sau: a) Đọc các giá trị {a1,a2,..an} vào từ bàn phím và xác định xem dãy nhận được có phải là hoán vị của {1,2..n} không? b) Phân chia {a1,a2…an} thành các dãy con tăng dần có độ dài cực đại.
- Cho một tệp văn bản input.txt chứa các phần tử nguyên không âm, các phần tử cách nhau ít nhất một dấu cách trống hoặc ít nhất một dấu xuống dòng. Viết chương trình đổi các số nguyên đọc ra từ tệp input.txt thành xâu nhị phân và xâu hexa tương ứng. Kết quả đưa vào tệp văn bản output.txt theo dạng: n ----> xâu nhị phân -----> xâu hexa (1 điểm)
- Tổng Hợp bài tập C cơ bản.(phần 1)
- Bài tập về xâu trong ngôn ngữ lập trình C. Đếm số ký tự số, ký tự hoa, ký tự thường, số tự nhiên.
- Bài tập về xâu trong ngôn ngữ lập trình C . Code bài TÁCH HỌ, TÁCH TÊN
- Viết chương trình nhập vào một ma trận có kích thước m x n.thực hiện công việc sắp xếp các cột của ma trận theo thứ tự giảm dần.
- Viết chương trình nhập vào một ma trận có kích thước m x n.thực hiện công việc sắp xếp các hàng của ma trận theo thứ tự tăng dần.
- tìm vị trí có giá trị lớn nhất trong mảng 2 chiều
- Số nguyên tố mạnh và số Amstrong
- Cho tệp văn bản input.txt dòng đầu chứa 2 số nguyên n và m, tiếp theo là một ma trận các số thực n x m. Các số cách nhau ít nhất một dấu cách trống hoặc ít nhất một dấu xuống dòng. Xây dựng mảng một chiều b gồm các số nguyên tố có mặt trong mảng hai chiều a. Xây dựng mảng một chiều b gồm các số hoàn hảo có mặt trong mảng hai chiều a.
- Cho tệp văn bản input.txt dòng đầu chứa 2 số nguyên n và m, tiếp theo là một ma trận các số Nguyên n x m. Các số cách nhau ít nhất một dấu cách trống hoặc ít nhất một dấu xuống dòng. Xây dựng mảng một chiều b gồm các số nguyên tố có mặt trong mảng hai chiều a. Xây dựng mảng một chiều b gồm các số hoàn hảo có mặt trong mảng hai chiều a.
- Câu 2: Viết chương trình làm các công việc sau: a. Tạo dữ liệu: Sinh ngẫu nhiên 50 số nguyên trong khoảng (-100, 100) và lưu các số đó vào tệp DULIEU.TXT gồm 1 dòng và 50 cột, mỗi số cách nhau một ký tự trống b. Sắp xếp: Đọc 50 số từ tệp DULIEU.TXT sắp xếp chúng theo thứ tự không giảm bằng các kỹ thuật: Sắp xếp chọn (Selection Sort), sắp xếp chèn (Insertion Sort), sắp xếp nổi bọt (Bubble Sort) và sắp xếp nhanh (Quick Sort). Lưu kết quả sắp xếp của mỗi kỹ thuật vào các tệp tương ứng là SXCHON.TXT, SXCHEN.TXT, SXNOIBOT.TXT và SXNHANH.TXT. Mặt khác trong dòng cuối của mỗi tệp sau khi sắp ghi thời gian đã sử dụng để sắp xếp dãy số trên.
All comments [ 0 ]
Your comments