[Mảng 1 Chiều Cơ Bản]. Bài 39. Dãy số 0 & 1

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
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

28Tech cho bạn 1 mảng toàn số 0 và 1, bạn hãy in ra độ dài của các dãy con toàn số 0 liên tiếp và toàn số 1 liên tiếp.

Ví dụ : mảng A[] = {1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0} thì có 3 dãy con số 1 liên tiếp có độ dài là 3, 1, 2 và 3 dãy con số 0 liên tiếp có độ dài là 2 1 2


Đầu vào

Dòng 1 là N : số phần tử trong mảng

Dòng 2 là N số trong mảng viết cách nhau 1 dấu cách


Giới hạn

1<=N<=10000

0<=A[i]<=1


Đầu ra

Dòng 1 in ra độ dài của các dãy con số 1 liên tiếp

Dòng 2 in ra độ dài của các dãy con số 0 liên tiếp


Ví dụ :

Input 01
10
1 0 0 0 0 0 1 1 0 1
Output 01
1 2 1
5 1

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    dgh2204  đã bình luận lúc 6, Tháng 9, 2024, 7:42

    include<stdio.h>

    int main() { int n ;scanf("%d",&n); int a[n] ; for(int i=0;i<n;i++) scanf("%d",a+i); int cnt =0;

    for( int i=0;i<n;i++) {

    if(a[i] ==1 ) ++cnt; else { // else if( cnt>0) { printf("%d",cnt) ,cnt=0;} if( cnt >0) printf("%d",cnt); cnt =0; } if( cnt >0)
    // cap nhap cho a[n-1] { printf("%d",cnt);

    } int d=0 ;


  • -2
    Lamlilac1234  đã bình luận lúc 10, Tháng 8, 2024, 15:42

    include <iostream>

    include <vector>

    using namespace std;

    int main()

    {

    int n; cin>>n;
    
    int a[n],count;
    
    vector <int> v1,v0;
    
    for(int &x : a )cin>>x;
    
    for( int i =0 ; i&lt;n ;){
    
      if(a[i]==0){
    
        count=0;
    
        count++;
    
        while(a[++i]==0)count++;
    
        v0.push_back(count);
    
      }
    
      else {
    
        count=0;
    
        count++;
    
        while(a[++i]==1)count++;
    
        v1.push_back(count);
    
      }
    
    }
    
    for(int x : v1)cout<&lt;x<<' ';
    
    cout<<'\n';
    
    for(int x : v0)cout<&lt;x<<' ';
    
    return 0;
    

    }

    có cách nào tối ưu hơn ko các bác


    • 0
      drwhite  đã bình luận lúc 2, Tháng 9, 2024, 15:43

      2 vòng for là xong, chứ dùng vector lưu lmj cho rối lên. 2 vòng for thì chắc 10^9 vẫn chịu đc


  • -9
    hairep2005  đã bình luận lúc 17, Tháng 7, 2024, 2:12

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -12
    minhquan2905  đã bình luận lúc 10, Tháng 6, 2024, 18:08

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -12
    NTH11112222  đã bình luận lúc 25, Tháng 5, 2024, 2:24

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.