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
QBSTR - 4.34s - Dynamic programing I_icon_minitimeWed Dec 07, 2011 12:16 pm by dinhha

» Chưa hiểu rõ đề CONANSP và FSOFT
QBSTR - 4.34s - Dynamic programing I_icon_minitimeMon Dec 05, 2011 1:53 pm by dinhha

» Thuật toán qui hoạch động (Dynamic programing)
QBSTR - 4.34s - Dynamic programing I_icon_minitimeSun Dec 04, 2011 6:21 pm by letrongngoc

» Khởi động lại nào!
QBSTR - 4.34s - Dynamic programing 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
QBSTR - 4.34s - Dynamic programing I_icon_minitimeMon Nov 07, 2011 10:37 pm by TrungHieu11

» Codeforces Beta Round #93
QBSTR - 4.34s - Dynamic programing 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"
QBSTR - 4.34s - Dynamic programing I_icon_minitimeThu Nov 03, 2011 3:05 pm by TrungHieu11

» code bài 1
QBSTR - 4.34s - Dynamic programing I_icon_minitimeMon Oct 31, 2011 7:42 pm by TrungHieu11

» Báo cáo lý lịch
QBSTR - 4.34s - Dynamic programing I_icon_minitimeMon Oct 31, 2011 6:39 pm by fallinlove2011

Top posters
TrungHieu11
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 
fallinlove2011
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 
dinhha
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 
thenguyen27192
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 
liveislife
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 
lovestorm_6390
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 
lehonghoa
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 
letrongngoc
QBSTR - 4.34s - Dynamic programing I_vote_lcapQBSTR - 4.34s - Dynamic programing I_voting_barQBSTR - 4.34s - Dynamic programing I_vote_rcap 

 

 QBSTR - 4.34s - Dynamic programing

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



Tổng số bài gửi : 9
Points : 20
Danh tiếng : 2
Join date : 21/10/2011

QBSTR - 4.34s - Dynamic programing Empty
Bài gửiTiêu đề: QBSTR - 4.34s - Dynamic programing   QBSTR - 4.34s - Dynamic programing I_icon_minitimeSun Oct 23, 2011 1:07 pm

ĐỀ BÀI:

Trích dẫn :


Xâu ký tự X được gọi là xâu con của xâu ký tự Y nếu ta có thể xoá đi một số ký tự trong xâu Y để được xâu X.

Cho biết hai xâu ký tự A và B, hãy tìm xâu ký tự C có độ dài lớn nhất và là con của cả A và B.
Input

Dòng 1: chứa xâu A

Dòng 2: chứa xâu B
Output

Chỉ gồm một dòng ghi độ dài xâu C tìm được
Example

Input:
abc1def2ghi3
abcdefghi123

Output:
10


THUẬT TOÁN:

+ Tạo 1 mảng 2 chiều p[i][j] để đếm các kí tự trùng nhau, i trong dãy A, j trong dãy B
+ Nếu i=0 hoặc j=0 sẽ không có dãy con chung nào
+ Nếu Ai = Bj đếm p[i][j] lên 1 đơn vị
+ Nếu không giá trị tại p[i][j] đó sẽ bằng MAX của dòng trên hoặc cột bên trái (mục đích để tạo gốc để tiếp tục đếm p[i][j] lên) (mấy anh giải thích kĩ chỗ này hộ em với)
+ Xuất p[i][j] lớn nhất
[You must be registered and logged in to see this image.]
trong hình trên muốn đếm lên 4 hay 7 phải có 3 hoặc 6..
SOURCE CODE:

Code:

import java.util.Scanner;
class Test_2_UseDynamicPrograming_QuyHoachDong
{
    public static void main(String[] args)
    {
        Scanner nhap = new Scanner(System.in);
        String a = nhap.nextLine();
        String b = nhap.nextLine();
        int u=0;
        char c1[] = a.toCharArray();
        char c2[] = b.toCharArray();
        int[][] p = new int[400][400];
        int c1Len = c1.length +1;
        int c2Len = c2.length +1;
        for(int i=1;i<c1Len;i++)
            p[i][0] = 0;
        for(int i=1;i<c2Len;i++)
            p[0][i] = 0;
        for(int i=1;i<c1Len;i++) {
            for(int j=1;j<c2Len;j++) {
                if(c1[i-1] == c2[j-1]) {
                    p[i][j] = p[i-1][j-1] + 1;
                }else{
                        p[i][j] = Math.max(p[i-1][j],p[i][j-1]);
                }
            }
        }
        for(int i=0;i<c1Len;i++) {
            for(int j=0;j<c2Len;j++) {
                if(p[i][j]>u)
                u=p[i][j];
            }
        }
        System.out.print(u);
    }   
}

Mấy anh góp ý cho em với nha.
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

QBSTR - 4.34s - Dynamic programing Empty
Bài gửiTiêu đề: Re: QBSTR - 4.34s - Dynamic programing   QBSTR - 4.34s - Dynamic programing I_icon_minitimeSun Oct 23, 2011 6:09 pm

Rất xuất sắc!! Cool Đây là solution đầu tiên của các bạn DHTH6, tiếp tục phát huy Basketball (bài NKPALIN tương tự ý)
Về Đầu Trang Go down
https://olphui.forumvi.com
 
QBSTR - 4.34s - Dynamic programing
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Thuật toán qui hoạch động (Dynamic programing)
» QBSTR - Hỏi bài

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 :: VNOI - SPOJ-
Chuyển đến