Announcement

Collapse
No announcement yet.

Cuộc thi Lập trinh thuật toán

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 11520042
    replied
    trời ơi, quên mất cái thời gian nộp bài là 12h trưa nay......cứ tưởng hết ngày chứ (%&$@#&%$)
    hik,m cập nhật thông tin trễ quá...
    mấy sư huynh ơi cho hỏi khi nào thì típ tục thi cái này thế ạh?

    Leave a comment:


  • 07520004
    replied
    Originally posted by 10520101 View Post
    Có học nhưng thầy có chú trọng về phần này đâu!
    Kiểu như giới thiệu cho biết=> nên mình cũng chả biết
    Thì cũng chỉ giới thiệu thôi, chờ tới môn Phân tích thiết kế thuật toán mới học sâu về cái đó, cái gì cũng phải có bài bản từng bước đàng hoàng.

    Leave a comment:


  • 10520101
    replied
    Originally posted by 10520180 View Post
    thế bạn học môn cấu trúc dữ liệu giải thuật chưa zậy?? cái đó có trong cấu trúc dữ liệu giải thuật đó
    Có học nhưng thầy có chú trọng về phần này đâu!
    Kiểu như giới thiệu cho biết=> nên mình cũng chả biết

    Leave a comment:


  • 10520180
    replied
    Originally posted by 10520061 View Post
    thanks anh Châu nhìu , vẫn chưa bít j về mấy cái O(1) j j đó. nhưng sẽ sớm bít thui.hjhj
    thế bạn học môn cấu trúc dữ liệu giải thuật chưa zậy?? cái đó có trong cấu trúc dữ liệu giải thuật đó

    Leave a comment:


  • 10520061
    replied
    thanks anh Châu nhìu , vẫn chưa bít j về mấy cái O(1) j j đó. nhưng sẽ sớm bít thui.hjhj

    Leave a comment:


  • 09520019
    replied
    Originally posted by 10520061 View Post
    hơi bị xoắn với bài giải của anh Châu nhé.
    Thật đơn giản khi tìm dc quy luật của nó. anh Châu có thể chia sẻ những suy nghĩ đầu tiên nên có trong đầu khi đọc đề không @@ hjhj
    Suy nghĩ đầu tiên:
    Bài 1: kiểm tra nguyên tố trong thời gian O(căn n) được ko ta ? Tổng thời gian khoảng O(n căn n) = O(n^1.5), n này không phải 1000 mà lớn hơn 1000. Vác máy tính ra bấm 10000^1.5 = 1 000 000 => OK khỏi nghĩ nữa
    Bài 2: res = n * (n + 1) / 2 hay res = n * (n - 1) / 2 ??? Rồi ta ví dụ: 1 + 2 + 3 = 6, CT1: 3 * 4 / 2 = 6; CT2: 3 * 2 / 2 = 3 => Công thức 1 đúng => Khỏi nghĩ nữa
    Bài 3: xài string hay long int thì cũng đc. Xài string thì for từ đuôi lên gặp 0 thì bỏ, mà vậy nếu string "0" thì mất công so sánh tùm lum 4 5 cái if, rồi còn 1203 thì phải đặt flag nữa => xài long long int cho khỏe => Và ta có cái code như đã post
    Bài 4: cái này chắc có liên quan tới cái tính chất chia hết cho 3, 3 số liên tiếp thì dư 1, dư 2, ko dư => Rất có khả năng có công thức => Đọc lại đề 1 lần nữa. Có phép cộng. Dư 1 và dư 2 liên tiếp nhau => sẽ có tổng dư là 0. Cái kế tiếp lại là dư 0 => quy luật có thể là 1 0 0 1 0 0 1 0 0....., 1 thì dư 1, 12 dư 0, 123 dư 0 (có vẻ đúng), như vậy 1234,12345,123456 bỏ qua, 1234567 chắc dư 1 (bấm máy tính 1234566), 12345678 chia hết không ? (bấm máy) => OK got it, nhưng k =10 thì 1234567890 hay 12345678910 ? => Đọc đề lần 3 => End of story

    Originally posted by 08520001 View Post
    Các bạn thân mến. Kết quả đã có rồi. Tạm thời mình chỉ thống kê 1 số thông tin, còn danh sách thì còn chờ đoàn trường duyệt mới công bố được. Có 7 bạn đạt điểm tối đa. Bạn thấp điểm nhất là 24 điểm: 1 bạn K4, 16 bạn K5, 10 bạn K6. Điều này chứng tỏ càng về các khóa sau thì các bạn càng tham gia sôi nổi. Các bạn K6 mới học C mà cũng tham gia rất nhiệt tình (15 bạn). Chúc cho vòng 2 diễn ra thành công.
    Hy vọng năm sau sẽ nhiều hơn
    Last edited by 09520019; 19-11-2011, 17:13.

    Leave a comment:


  • 08520001
    replied
    Các bạn thân mến. Kết quả đã có rồi. Tạm thời mình chỉ thống kê 1 số thông tin, còn danh sách thì còn chờ đoàn trường duyệt mới công bố được. Có 7 bạn đạt điểm tối đa. Bạn thấp điểm nhất là 24 điểm: 1 bạn K4, 16 bạn K5, 10 bạn K6. Điều này chứng tỏ càng về các khóa sau thì các bạn càng tham gia sôi nổi. Các bạn K6 mới học C mà cũng tham gia rất nhiệt tình (15 bạn). Chúc cho vòng 2 diễn ra thành công.

    Leave a comment:


  • 10520061
    replied
    Originally posted by 09520019 View Post
    Đây là code 4 bài của mình, các bạn cho nhận xét. Thời gian làm bài: 6 phút 19 giây
    PHP Code:
    #include <iostream>
    using namespace std;

    int isprime(int n)
    {
        for (
    int i 2;<= n;++i)
            if (
    == 0) return 0;
        return 
    1;
    }
    int main()
    {
        
    int n,i,j;
        
    cin >> n;
        for (
    2,0;n;++i)
            if (
    isprime(i)) ++j;
        
    cout << (1) << endl;
        return 
    0;

    PHP Code:
    #include <iostream>
    using namespace std;

    int main()
    {
        
    long long int n,res;
        
    cin >> n;
        
    res = (* (1)) / 2;
        
    cout << res << endl;
        return 
    0;

    PHP Code:
    #include <iostream>
    using namespace std;

    int main()
    {
        
    long long int n;
        
    cin >> n;
        if (
    == 0cout << '0' << endl;
        else
        {
            while (
    10 == 0/= 10;
            while (
    n)
            {
                
    cout << 10;
                
    /= 10;
            }
            
    cout << endl;
        }
        return 
    0;

    PHP Code:
    #include <iostream>
    using namespace std;

    int main()
    {
        
    int n,res;
        
    cin >> n;
        
    res * (3);
        if (
    == 2) ++res;
        
    cout << res << endl;
        return 
    0;

    How fast can you code ?
    hơi bị xoắn với bài giải của anh Châu nhé.
    Thật đơn giản khi tìm dc quy luật của nó. anh Châu có thể chia sẻ những suy nghĩ đầu tiên nên có trong đầu khi đọc đề không @@ hjhj

    Leave a comment:


  • 09520019
    replied
    Giờ chắc mọi người xong hết rồi, bạn nào thấy mình có hy vọng đc vào vòng 2 thì đừng quên các bạn còn 1 "bài tập" nữa phải làm

    Originally posted by 08520581 View Post
    Cuộc thi gồm 2 vòng :
    Vòng loại :Các bạn lam bài tại nhà và gửi bài làm qua email olympic.UIT@gmail.com .Chọn ra 25 thí sinh
    Vòng chung kết : Tổ chức thi đấu tập trung dưới hình thức ICM/ICPC . (Các bạn làm bài và chấm online trực tiếp lên server tại phòng thi, kêt quả sai có thể làm lai ) + có tường thuật trực tiếp... bằng board ở sảnh trường . Cho phép đem vào phòng thi 10 trang tài liệu bất kì

    Leave a comment:


  • 09520668
    replied
    Đọc đề kỹ lắm, cũng phát hiện ra từ lúc làm, nói là vậy thôi, tốt nhất cũng nên làm luôn cho chắc, đâu có mất nhiêu thời gian. Khỏi mắc công phiền phức khiếu nại.
    Bài 1: (hình như có giống thuật toán với ai post rồi thì phải, nhưng sẽ nhanh hơn vì mình tối ưu các dòng lệnh kiểm tra và tính toán rồi)
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    int main()
    {
    unsigned long* ngto;
    unsigned long i = 1, dem = 1, n,j;
    long dk = 1;
    scanf("%d",&n);
    ngto = (unsigned long*) calloc(n,sizeof(unsigned long));
    ngto[0] = 2;
    if (n==1) printf("2\n");
    else
    while (true)
    {
    i += 2;
    for (j = 1; j < dk; j++)
    {
    if (i % ngto[j] == 0) { break; }
    }
    if (j==dk) { ngto[dem] = i; dem++; if (dem == n) { printf("%d",i); break; } if (i > ngto[dk-1] * ngto[dk]) dk++; }
    }
    }
    Last edited by 09520668; 19-11-2011, 17:48.

    Leave a comment:


  • 09520019
    replied
    Originally posted by 09520668 View Post
    Số nguyên dương thì làm gì có số 0
    Hôm bữa mình thảo luận với BTC về cái đề và bên BTC đã loại test này ra khỏi hệ thống chấm, nhưng có hay không thì có rất nhiều bạn panic, chứng tỏ rằng đây là bug bất ngờ. Nếu mà bữa đó mình không thảo luận thì đảm bảo test này vẫn còn trong hệ thống chấm ((chuckle))
    Chúc các bạn may mắn trong vòng 2 ((chuckle))
    Nhớ đọc kỹ đề ((chuckle)) <= Cái bug này gây panic cho nhiều bạn lắm đấy )

    dangchau1991(11/17/2011 6:53:44 PM) : Bài 3: Cho số nguyên dương n (n <= 10^18). Lập trình in ra số nguyên dương m có nghĩa với m là n theo thứ tự ngược lại.
    dangchau1991(11/17/2011 6:53:47 PM) :
    dangchau1991(11/17/2011 6:53:53 PM) : sao không cho số nguyên không âm đi
    dangchau1991(11/17/2011 6:53:53 PM) :
    dangchau1991(11/17/2011 6:54:00 PM) : 0 <= n <= 10^18
    dangchau1991(11/17/2011 6:54:07 PM) : đảm bảo input = 0 nhiều đứa sai
    An Cao văn(11/17/2011 6:54:15 PM) : anh quên
    dangchau1991(11/17/2011 6:54:24 PM) :
    dangchau1991(11/17/2011 6:54:30 PM) : vậy h ko có test đó huh
    dangchau1991(11/17/2011 6:54:32 PM) : chán vậy =.=
    An Cao văn(11/17/2011 6:54:33 PM) : có em
    An Cao văn(11/17/2011 6:54:35 PM) : hehe
    dangchau1991(11/17/2011 6:54:36 PM) : èo
    dangchau1991(11/17/2011 6:54:46 PM) : đề ảo vậy
    An Cao văn(11/17/2011 6:54:58 PM) : vậy là ko d9uo75c
    An Cao văn(11/17/2011 6:55:02 PM) : anh sơ ý mất
    An Cao văn(11/17/2011 6:55:05 PM) : để bỏ test đó
    An Cao văn(11/17/2011 6:55:07 PM) : ko sao
    An Cao văn(11/17/2011 6:55:11 PM) : vòng này zui thôi
    An Cao văn(11/17/2011 6:55:19 PM) : vòng 2 mới gây cấn
    An Cao văn(11/17/2011 6:55:20 PM) : hehe
    dangchau1991(11/17/2011 8:40:39 PM) : thôi kệ anh để lại cái test đó đi cho nó hào hứng
    dangchau1991(11/17/2011 8:40:40 PM) :
    dangchau1991(11/17/2011 8:40:43 PM) : hehehehehehe
    dangchau1991(11/17/2011 8:40:57 PM) : để bữa 0:05 20/11
    dangchau1991(11/17/2011 8:41:02 PM) : em đi post solution
    dangchau1991(11/17/2011 8:41:09 PM) : cho tụi nó hoảng chơi
    dangchau1991(11/17/2011 8:41:09 PM) : ^_^
    An Cao văn(11/17/2011 8:43:59 PM) : hi
    An Cao văn(11/17/2011 8:44:01 PM) : ko được
    An Cao văn(11/17/2011 8:44:05 PM) : vậy là ko đúng
    An Cao văn(11/17/2011 8:44:06 PM) : hehe
    An Cao văn(11/17/2011 8:44:09 PM) : mà hem sao
    dangchau1991(11/17/2011 8:44:09 PM) : =.=
    An Cao văn(11/17/2011 8:44:13 PM) : bỏ test đó cũng hok sao
    dangchau1991(11/17/2011 8:44:14 PM) : có 1 test thôi mà
    dangchau1991(11/17/2011 8:44:15 PM) :
    dangchau1991(11/17/2011 8:44:17 PM) : èo
    dangchau1991(11/17/2011 8:44:22 PM) : có còn test bẫy nào nữa đâu
    An Cao văn(11/17/2011 8:44:22 PM) : giờ mới có 2 người max điểm ah
    dangchau1991(11/17/2011 8:44:22 PM) :
    An Cao văn(11/17/2011 8:44:25 PM) : uh
    Last edited by 09520019; 19-11-2011, 16:28.

    Leave a comment:


  • 09520668
    replied
    Bài 3: Cho số nguyên dương n (n <= 1018). Lập trình in ra số nguyên dương m có nghĩa với m là n theo thứ tự ngược lại.
    Số nguyên dương thì làm gì có số 0

    Leave a comment:


  • 11520126
    replied
    sặc, dính chưởng bài 2. Vẫn để int, ko để ý cái giới hạn, hjx.
    Bài 3 vô tình đúng, hjhj: 2 bài kia ko nói.
    Code:
    #include<stdio.h>
    void main()
    {
        int a,i=10;
        long long n,s=0;
        scanf("%lld",&n);
        while (n>0)
        {
            a=n%10;
            s=s*i+a;
            n=n/10;
        }
        printf("%lld",s);
    
    }

    Leave a comment:


  • 10520272
    replied
    Originally posted by 09520019
    How fast can you code ?
    Bài 1. 5' để code xong, vài ngày để tối ưu và đến giờ vẫn chưa thỏa mãn.
    Bài 2. 1'30'' =)), vừa đủ vượt lên chính mình.
    Bài 3. 1'30'' xong, nhưng ~15' để tối ưu và lo hết những phần lảm nhảm.
    Bài 4. 1 buổi chiều ngồi cm công thức (cm bằng quy nạp =))). Và cỡ 1' để code.

    Originally posted by 09520019 View Post
    Mình không nói đến pro hay không , nhưng mình học được 1 điều từ thi Olympic:
    Miễn sao Accepted là được rồi, code càng ngắn càng tốt để thời gian.....làm việc khác :P
    Quá đúng, bài học xương máu từ đợt thi lần này là đừng rảnh mà tối ưu quá yêu cầu của đề (chả thêm đc gì nhiều), nên để thời gian đó nghiên cứu những cái khác.
    Một điều nữa tuy đã được nhắc rất nhiều nhưng vẫn hay xảy ra là : "Những trường hợp tầm thường là những trường hợp dễ sai nhất". Hãy luôn nghĩ đến điều đó khi làm bài.
    Last edited by 10520272; 19-11-2011, 15:14.

    Leave a comment:


  • 11520132
    replied
    Em thì nghĩ ra thuật toán cũng tạm nhưng diễn giải nó thành code thì hơi cực. Mới nhúng tay vào đống bày nhày này khó mà quen.

    Leave a comment:

LHQC

Collapse
Working...
X