Lập trình, thuật toán
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.


Lập trình C/C++, java. Thuật toán
 
Trang ChínhLatest imagesTìm kiếmĐăng kýĐăng Nhập
Đăng Nhập
Tên truy cập:
Mật khẩu:
Đăng nhập tự động mỗi khi truy cập: 
:: Quên mật khẩu
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
» Thông báo offline lần 1
Code bài 2 I_icon_minitimeWed Dec 07, 2011 12:16 pm by dinhha

» Chưa hiểu rõ đề CONANSP và FSOFT
Code bài 2 I_icon_minitimeMon Dec 05, 2011 1:53 pm by dinhha

» Thuật toán qui hoạch động (Dynamic programing)
Code bài 2 I_icon_minitimeSun Dec 04, 2011 6:21 pm by letrongngoc

» Khởi động lại nào!
Code bài 2 I_icon_minitimeThu Dec 01, 2011 11:54 am by TrungHieu11

» Bài tập tuần 1 của Hưng cùi bắp
Code bài 2 I_icon_minitimeMon Nov 07, 2011 10:37 pm by TrungHieu11

» Codeforces Beta Round #93
Code bài 2 I_icon_minitimeSat Nov 05, 2011 12:23 am by TrungHieu11

» Mở thêm thư mục "Các môn học ở trường"
Code bài 2 I_icon_minitimeThu Nov 03, 2011 3:05 pm by TrungHieu11

» code bài 1
Code bài 2 I_icon_minitimeMon Oct 31, 2011 7:42 pm by TrungHieu11

» Báo cáo lý lịch
Code bài 2 I_icon_minitimeMon Oct 31, 2011 6:39 pm by fallinlove2011

Top posters
TrungHieu11
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 
fallinlove2011
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 
dinhha
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 
thenguyen27192
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 
liveislife
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 
lovestorm_6390
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 
lehonghoa
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 
letrongngoc
Code bài 2 I_vote_lcapCode bài 2 I_voting_barCode bài 2 I_vote_rcap 

 

 Code bài 2

Go down 
4 posters
Tác giảThông điệp
fallinlove2011
Đang tập code
Đang tập code
fallinlove2011


Tổng số bài gửi : 18
Points : 27
Danh tiếng : 0
Join date : 16/10/2011
Age : 31
Đến từ : Đại Học Công Nghiệp

Code bài 2 Empty
Bài gửiTiêu đề: Code bài 2   Code bài 2 I_icon_minitimeThu Oct 20, 2011 6:38 pm

Đề:Cho một hình chữ nhật kích thước m x n. Hãy tính phải sử dụng ít nhất bao nhiều hình vuông kích thước a x a để có thể che hết HCN trên, lưu ý các hình vuông không thể bị cắt
Input 3 số nguyên không âm m,n,a (1≤m,n,a≤〖10〗^9)
Output số lượng các hình vuông ít nhất để che(lấp) HCN
code:
Code:
#include <iostream>
#include <math.h>
using namespace std;
int main() {
   long long a,b,bt;
   cin >> a >> b >> bt;
   long double c = (double)a / bt,d = (double)b / bt;
   cout << (long long)(ceil(c) * ceil(d));      
}


Được sửa bởi fallinlove2011 ngày Wed Nov 30, 2011 4:23 pm; sửa lần 4. (Reason for editing : Sua lai code)
Về Đầu Trang Go down
TrungHieu11
Admin
Admin
TrungHieu11


Tổng số bài gửi : 52
Points : 102
Danh tiếng : 6
Join date : 15/10/2011
Đến từ : Đại học Công Nghiệp Tp.HCM

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeFri Oct 21, 2011 8:00 pm

Có VD mẫu ko em?? Anh vẫn chưa hiểu cái đề Like a Star @ heaven
Các hình vuông không thể bị cắt là sao?
Test:
m = 3
n = 3
a = 2
sao lại ra 4 vậy??
Về Đầu Trang Go down
https://olphui.forumvi.com
TrungHieu11
Admin
Admin
TrungHieu11


Tổng số bài gửi : 52
Points : 102
Danh tiếng : 6
Join date : 15/10/2011
Đến từ : Đại học Công Nghiệp Tp.HCM

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeFri Oct 21, 2011 8:38 pm

À hiểu đề rùi!! Idea
Anh có 1 vài góp ý thế này:
1. Em không cần phải viết những câu đại loại như: "Nhap vao hai canh Hinh Chu Nhat va canh Hinh Vuong!!!" vì máy chấm chứ không phải người chấm nên không cần để những câu đó, em chỉ cần viết thế này:
Code:
cin >> m >> n >> a;
//Xu li
cout << ketqua;
2. Bài này rất là đơn giản. Em suy nghĩ thuật toán khác nghen!!
3. Anh thích cách trình bài của em (giống anh) rất dễ nhìn Razz có điều mấy dòng sau main() thì em nên cho vào 1 tab, ko cần để main(void)
4. Không cần khai báo iostream.h , chỉ cần iostream là đủ vì ở dưới đã có khai báo thư viện chuẩn using namespace std;
5. Bỏ luôn phần này:
Code:
while (m  < 0 || n < 0 || a < 0)
{
  cout << "Nhap vao hai canh Hinh Chu Nhat va canh Hinh Vuong!!!\n";
  cin >> m >> n >> a;
}
Vì đề đã cho là m, n, a >= 1
6. Và cuối cùng là em có thể nộp bài ở đây: [You must be registered and logged in to see this link.] (Nhấn vào submit, chọn ngôn ngữ là C++, paste code vào khung)
Về Đầu Trang Go down
https://olphui.forumvi.com
thenguyen27192
Đang tập code
Đang tập code



Tổng số bài gửi : 9
Points : 14
Danh tiếng : 2
Join date : 20/10/2011
Age : 32
Đến từ : HUI

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeFri Oct 21, 2011 11:47 pm

các bạn xem coi bài mình sai sót chổ nào xin nhận chém nặng tay...hi
Code:
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        double dai,rong,m,n,a,x=0;
        Scanner sc=new Scanner(System.in);
        m=sc.nextLong();
        n=sc.nextLong();
        a=sc.nextLong();
        dai=rong=m;
        if(m>n)
        {
            rong = n;
            dai  = m;
        }
        if(m<n)
        {
            rong=m;
            dai=n;
        }
        if(a>=dai) x=1;
        if((a>rong)&&(a<dai)) x=2;
        if(a==rong) x=Math.ceil((dai*rong)/(a*a));
        if(a<rong)
        {
            x=(Math.floor(rong/a))*(Math.ceil(dai/a))+Math.ceil(dai/a);
        }
        System.out.print(x);
    }

}
bài này mình đang gặp rắc rối ở kiểu dữ liệu, đúng ra phải là kiểu long theo như đề ra...các bạn có thể sữa dùm với ...hix
Về Đầu Trang Go down
dinhha
Đang tập code
Đang tập code
dinhha


Tổng số bài gửi : 11
Points : 20
Danh tiếng : 5
Join date : 15/10/2011
Age : 33
Đến từ : ĐH Công Nghiệp TP. Hồ Chí Minh

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeSat Oct 22, 2011 10:31 am

Em có thể ép kiểu cho nó từ double về long. Anh sửa lại mấy chỗ thế này:
Code:
long  dai,rong,m,n,a,x=0;

Code:

if(a==rong) x=(long)Math.ceil((dai*rong)/(a*a));
        if(a<rong)
        {
            x=(long )(Math.floor(rong/a))*(long)(Math.ceil(dai/a))+ (long) Math.ceil(dai/a);
        }

Sử dụng
Code:
 (long)
trước mỗi phép toán trả về double để ép về long
Về Đầu Trang Go down
thenguyen27192
Đang tập code
Đang tập code



Tổng số bài gửi : 9
Points : 14
Danh tiếng : 2
Join date : 20/10/2011
Age : 32
Đến từ : HUI

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeSat Oct 22, 2011 11:18 am

cảm ơn a rất nhiều....e đã sửa lại đúng yêu cầu bài ...hè hè
Code:
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        long m,n,a;
        double x=0,dai,rong;
        Scanner sc=new Scanner(System.in);
        m=sc.nextLong();
        n=sc.nextLong();
        a=sc.nextLong();
        dai=rong=m;
        if(m>n)
        {
            rong = n;
            dai  = m;
        }
        if(m<n)
        {
            rong=m;
            dai=n;
        }
        if(a>=dai) x=1;
        if((a>=dai/2)&&(a<dai)) x=2;
        if(a>rong && a<dai/2) x=Math.ceil(dai/a);
        if(a==rong) x=Math.ceil((dai*rong)/(a*a));
        if(a<rong)
        {
            x=((Math.floor(rong/a)))*(Math.ceil(dai/a))+Math.ceil(dai/a);
        }
        System.out.print((long)x);
    }

}
Về Đầu Trang Go down
TrungHieu11
Admin
Admin
TrungHieu11


Tổng số bài gửi : 52
Points : 102
Danh tiếng : 6
Join date : 15/10/2011
Đến từ : Đại học Công Nghiệp Tp.HCM

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeSat Oct 22, 2011 11:46 am

thenguyen27192 đã viết:
cảm ơn a rất nhiều....e đã sửa lại đúng yêu cầu bài ...hè hè
Code:
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        long m,n,a;
        double x=0,dai,rong;
        Scanner sc=new Scanner(System.in);
        m=sc.nextLong();
        n=sc.nextLong();
        a=sc.nextLong();
        dai=rong=m;
        if(m>n)
        {
            rong = n;
            dai  = m;
        }
        if(m<n)
        {
            rong=m;
            dai=n;
        }
        if(a>=dai) x=1;
        if((a>=dai/2)&&(a<dai)) x=2;
        if(a>rong && a<dai/2) x=Math.ceil(dai/a);
        if(a==rong) x=Math.ceil((dai*rong)/(a*a));
        if(a<rong)
        {
            x=((Math.floor(rong/a)))*(Math.ceil(dai/a))+Math.ceil(dai/a);
        }
        System.out.print((long)x);
    }

}

Bài của bạn sai ở test này:

Input:
2 2 1

Your output:
6

Answer:
4

Bạn ghi rõ thuật toán ra để mọi người tham khảo nhé.

Nếu sử dụng java để code cũng tốt vì java hổ trợ rất là nhiều hàm có sẵn, code dễ dàng hơn, ít lỗi hơn nhưng thời gian chạy thường chậm hơn C/C++ với lại anh cũng ko rành về java Like a Star @ heaven Nhờ Hà xem dùm vậy
Về Đầu Trang Go down
https://olphui.forumvi.com
thenguyen27192
Đang tập code
Đang tập code



Tổng số bài gửi : 9
Points : 14
Danh tiếng : 2
Join date : 20/10/2011
Age : 32
Đến từ : HUI

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeSat Oct 22, 2011 3:33 pm

e mới sửa lại, bị bỏ sót 1 chổ.hi. máy e cài win8 nên không cài đc chuong trình chạy c nên tạm xài java....hè hè.mấy hôm ni bận quá...chắc chuyển trọ xong rồi post thuật toán mọi người xem
Code:
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        long m,n,a;
        double x=0,dai,rong;
        Scanner sc=new Scanner(System.in);
        m=sc.nextLong();
        n=sc.nextLong();
        a=sc.nextLong();
        dai=rong=m;
        if(m>n)
        {
            rong = n;
            dai  = m;
        }
        if(m<n)
        {
            rong=m;
            dai=n;
        }
        if(a>=dai) x=1;
        if(a==rong/2 && dai==rong) x=4;
        if((a>=dai/2)&&(a<dai)&&a>rong) x=2;
        if(a>rong && a<dai/2) x=Math.ceil(dai/a);
        if(a==rong) x=Math.ceil((dai*rong)/(a*a));
        if(a<rong&&(a!=rong/2||a!=dai/2))
        {
            x=((Math.floor(rong/a)))*(Math.ceil(dai/a))+Math.ceil(dai/a);
        }
        System.out.print((long)x);
    }
}
Về Đầu Trang Go down
TrungHieu11
Admin
Admin
TrungHieu11


Tổng số bài gửi : 52
Points : 102
Danh tiếng : 6
Join date : 15/10/2011
Đến từ : Đại học Công Nghiệp Tp.HCM

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeSat Oct 22, 2011 6:41 pm

thenguyen27192 đã viết:
e mới sửa lại, bị bỏ sót 1 chổ.hi. máy e cài win8 nên không cài đc chuong trình chạy c nên tạm xài java....hè hè.mấy hôm ni bận quá...chắc chuyển trọ xong rồi post thuật toán mọi người xem
Code:
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        long m,n,a;
        double x=0,dai,rong;
        Scanner sc=new Scanner(System.in);
        m=sc.nextLong();
        n=sc.nextLong();
        a=sc.nextLong();
        dai=rong=m;
        if(m>n)
        {
            rong = n;
            dai  = m;
        }
        if(m<n)
        {
            rong=m;
            dai=n;
        }
        if(a>=dai) x=1;
        if(a==rong/2 && dai==rong) x=4;
        if((a>=dai/2)&&(a<dai)&&a>rong) x=2;
        if(a>rong && a<dai/2) x=Math.ceil(dai/a);
        if(a==rong) x=Math.ceil((dai*rong)/(a*a));
        if(a<rong&&(a!=rong/2||a!=dai/2))
        {
            x=((Math.floor(rong/a)))*(Math.ceil(dai/a))+Math.ceil(dai/a);
        }
        System.out.print((long)x);
    }
}

Vẫn còn sai, em nên nói thuật toán ra để mọi người tham khảo.
Test sai:
Input:
12 13 4

Your output:
16

Answer:
12

Em tự nộp bài trên này nhé [You must be registered and logged in to see this link.] khi nào đúng rùi hẳn up code lên
Về Đầu Trang Go down
https://olphui.forumvi.com
thenguyen27192
Đang tập code
Đang tập code



Tổng số bài gửi : 9
Points : 14
Danh tiếng : 2
Join date : 20/10/2011
Age : 32
Đến từ : HUI

Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitimeMon Oct 24, 2011 8:11 pm

sau một hồi viết thật thật dài cuối cùng cũng ngắn hơn và thấy đc dòng Accepted...hè hè
Code:
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
    long m,n,cv;
    Scanner sc =new Scanner(System.in);
    m=sc.nextLong();n=sc.nextLong();cv=sc.nextLong();
    double canh1=m,canh2=n,a=cv;
    System.out.print((long)((Math.ceil(canh1/a))*(Math.ceil(canh2/a))));
    }
}
Về Đầu Trang Go down
Sponsored content





Code bài 2 Empty
Bài gửiTiêu đề: Re: Code bài 2   Code bài 2 I_icon_minitime

Về Đầu Trang Go down
 
Code bài 2
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» code bài 1

Permissions in this forum:Bạn không có quyền trả lời bài viết
Lập trình, thuật toán :: Problems :: Other problems-
Chuyển đến