STREAK - Tung đồng xu

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Lũ lụt miền Trung đang liên tục dân cao khiến cho rất nhiều nhà dân bị cô lập và nhà của Thợ Săn Cá Nóc cũng vậy. Suốt ngày ngồi trong nhà buồn chán, Thợ Săn lấy từ trong ví của mình ra một đồng xu, và tung nó lên ~N~ lần, kết quả của mỗi lần tung sẽ là mặt sấp hoặc là mặt ngửa.

Để rèn luyện trí nhớ của mình, Thợ Săn muốn tính xem mình đã tung được liên tiếp nhiều nhấtmặt sấp và mặt ngửa là bao nhiêu lần.

Input

  • Dòng đầu tiên chứa số nguyên dương ~N (N ≤ 50)~ là số lần Thợ Săn tung đồng xu.
  • ~N~ dòng tiếp theo mỗi dòng ghi ra kết quả của lần tung thứ ~i~, Heads nếu là mặt ngửa và Tails nếu là mặt sấp.

Output

  • Ghi ra hai số lần lượt là số lần tối đa mà Thợ Săn tung liên tiếp được mặt ngửa và mặt sấp.

Sample

Input #1
8
Heads
Tails
Tails
Tails
Tails
Heads
Heads
Tails
Output #1
2 4

Hint

  • Có 4 lần mặt sấp liên tiếp và có 2 lần mặt ngửa liên tiếp.

Problem source: Kc97ble - Free Contest


Bình luận

Please read the guidelines before commenting.



  • 0
    lamtn22114  đã bình luận lúc 27, Tháng 5, 2026, 12:06

    Bài này dùng tư duy cuốn chiếu cập nhật kết quả liên tục nhé


  • 0
    taidotai  đã bình luận lúc 26, Tháng 2, 2026, 8:50

    include <bits/stdc++.h>

    using namespace std ; int main () { int n ; cin >> n ; string s ;

    vector <int> a ;
    
    for (int i = 0 ; i < n ; i++){
    
        cin >> s ;
    
        if (s == "Heads") {
            a.push_back(1) ;
        }
        else {
            a.push_back(2) ;
        }
    }
    
    int maxH = 0, maxT = 0;
    int demH = 0, demT = 0;
    
    for (int i = 0; i < n; i++) {
        if (a[i] == 1) {
            demH++;
            demT = 0;
        } else {
            demT++;
            demH = 0;
        }
        maxH = max(maxH, demH);
        maxT = max(maxT, demT);
    }
    cout << maxH << " " << maxT;
    

    }


  • 0
    dekii  đã bình luận lúc 22, Tháng 10, 2025, 10:59

    include <bits/stdc++.h>

    using namespace std;

    int main () { int n;cin>>n; int ngua=0,up=0; int kq1=0,kq2=0; for(int i=0;i<n;i++) { string s; cin >>s; if(s=="Heads"){ ++ngua; up=0; } else if(s=="Tails") { ++up; ngua=0; } kq1=max(kq1,ngua) ; kq2=max(kq2,up) ; } cout<<kq1<<" " <<kq2;

    }