Hệ sinh thái số IELP
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.

Hệ sinh thái số IELP

Học lập trình với Hệ sinh thái số IELP
 
Trang ChínhTrang Chính  CalendarCalendar  Latest imagesLatest images  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Keywords
sach BANG thưởng đặng Nhàn nguyễn wavio chứa pháp điểm Phạm tích giác Phần tổng sinh Trần hình Minh Thành được nhật HOAI phương Hoàng 2022
Latest topics
» Buổi học số 1. Cấu trúc tuần tự trong C++ (Bài 1 -> Bài 15)
KTLT1. Dãy Wavio EmptyThu Apr 25, 2024 10:49 am by quanle1120

» Chấm bài trực tuyến với Jusolan.ddns.net
KTLT1. Dãy Wavio EmptyWed Apr 24, 2024 9:15 pm by Admin

» Bài kiểm tra giữa Học kỳ II
KTLT1. Dãy Wavio EmptyWed Apr 05, 2023 8:00 am by Nguyễn Đức Mạnh

» Bài giữa kì 2
KTLT1. Dãy Wavio EmptyMon Apr 03, 2023 8:34 am by Khách viếng thăm

» Bài giữa kì tin Lê Đức Anh
KTLT1. Dãy Wavio EmptySun Apr 02, 2023 8:33 pm by Tendalda06

» Nghiêm Tuấn Tú
KTLT1. Dãy Wavio EmptySat Apr 01, 2023 9:03 am by Nghiêm Tuấn Tú

» Nguyễn Trần Ý Nhi
KTLT1. Dãy Wavio EmptySat Apr 01, 2023 8:23 am by Nguyễn Trần Ý Nhi

» Nguyễn Kim Anh
KTLT1. Dãy Wavio EmptySat Apr 01, 2023 12:05 am by Khách viếng thăm

» Trần Thanh Trà
KTLT1. Dãy Wavio EmptyFri Mar 31, 2023 11:10 pm by Trần Thanh Trà

May 2024
MonTueWedThuFriSatSun
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendarCalendar
Top posting users this week
No user

 

 KTLT1. Dãy Wavio

Go down 
5 posters
Tác giảThông điệp
Admin
Admin



Tổng số bài gửi : 152
Join date : 23/04/2022
Age : 41
Đến từ : THPT Chuyên Nguyễn Tất Thành - Yên Bái

KTLT1. Dãy Wavio Empty
Bài gửiTiêu đề: KTLT1. Dãy Wavio   KTLT1. Dãy Wavio EmptyTue May 10, 2022 2:51 pm

1) DÃY SỐ WAVIO
Dãy số Wavio là dãy số nguyên thoả mãn các tính chất:
• Số lượng phần tử (độ dài của dãy) L là lẻ, tức là L = 2*N+1,
• N+1 phần tử đầu tiên là một dãy tăng ngặt,
• N+1 phần tử cuối là một dãy giảm ngặt.
Ví dụ, dãy số 1, 2, 3, 4, 5, 4, 3, 2, 0 là một dãy Wavio độ dài 9, còn dãy 1, 2, 3, 4, 5, 4, 3, 2, 2 không phải là dãy Wavio.
Yêu cầu: Cho dãy số nguyên độ dài N, hãy tìm dãy con Wavio độ dài lớn nhất từ dãy đã cho.
Ví dụ: cho dãy 1 2 3 2 1 2 3 4 3 2 1 5 4 1 2 3 2 2 1. Dãy con Wavio dài nhất là 1 2 3 4 5 4 3 2 1 và có độ dài 9.
Dữ liệu: Vào từ file văn bản WAVIO.INP gồm:
• Dòng thứ nhất chứa số nguyên N (0 < N ≤ 10 000),
• Dòng thứ 2 chứa N số nguyên, các số cách nhau một dấu cách.
Kết quả: Đưa ra file văn bản WAVIO.OUT độ dài của dãy con Wavio dài nhất. Ví dụ:
WAVIO.INP
10
1 2 3 4 5 4 3 2 1 10
WAVIO.OUT
9

Về Đầu Trang Go down
https://ielp.forumvi.com
vhdlinh




Tổng số bài gửi : 34
Join date : 08/05/2022

KTLT1. Dãy Wavio Empty
Bài gửiTiêu đề: Re: KTLT1. Dãy Wavio   KTLT1. Dãy Wavio EmptyTue May 10, 2022 4:27 pm

Code:

#include<bits/stdc++.h>

#define nmax 10005

using namespace std;

int n;
int a[nmax], p[nmax], t[nmax], b[nmax], c[nmax];
int res;

void inp(){
   cin >> n;
   for(int i = 1; i <= n; i++) cin >> a[i];
}
bool check(){
   int d1 = 0;
   int d2 = 0;
   for(int i = 1; i < n/2; i++)
       while(a[i] < a[i+1]) d1++;
   for(int i = n; i > n/2; i--){
       while(a[i] < a[i-1]) d2++;
   }
   if(d1 == d2 && d1 == n/2) return true;
   return false;
}

void xuli(){
   int k = 0;
   for(int i = 1; i <= n; i++){
       if(b[i] == 1){
           k++;
           c[k] == a[i];
       }
   }
   if(check()){
       if(k > res) res = k;
   }
}

void sinh(int i){
   for(int j = 0; j <= 1; j++){
       b[i] = j;
       if(i == n) xuli();
       else sinh(i+1);  
   }
}



int main()
{
   ios_base::sync_with_stdio(0);
   cin.tie(0);
   freopen("WAVIO.INP" , "r" , stdin);
   freopen("WAVIO.OUT" , "w" , stdout);
   inp();
   sinh(1);
   cout << res;
   return 0;
}

hdluong likes this post

Về Đầu Trang Go down
hdluong




Tổng số bài gửi : 19
Join date : 09/05/2022

KTLT1. Dãy Wavio Empty
Bài gửiTiêu đề: Re: KTLT1. Dãy Wavio   KTLT1. Dãy Wavio EmptyWed May 11, 2022 2:46 am

-Không biết trình bày ý tưởng thế nào, mong mọi người xem code có thể hiểu ạ :<
Code:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int r,l,n,j,a[10000],d;
    int g[10000]={0};
void kq()
{
    d=2;
    for (int j=l+1;j<=r;j++)
    {
        if (a[j]>a[j-1]) {d++;}
    }
    l=l+d;
    for (int j=r-1;j>=l;j--)
    {
        if (a[j]>a[j+1]) {d++;} else {break;}
    }
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    freopen("wavio.inp","r",stdin);
    freopen("wavio.out","w",stdout);
    cin >> n;
    for (int i=1;i<=n;i++)
    {
        cin >> a[i];
        if (a[i]>a[i-1]) {g[i]=g[i-1]+1;}
            else {g[i]=1;}
    }
    int res=0;
    for (int i=2;i<=n;i++)
    {
        if (a[i]<a[i-1]) {g[i]=g[i]+g[i-1];}
        if (g[i]!=1&&g[i]>res&&g[i]%2==1)
        {
            r=i;
            l=r-g[i];
            cout << r << " " << l << endl;
            kq();
            res=max(res,d);
        }
    }
    cout << res;
    return 0;
}

Về Đầu Trang Go down
trinh




Tổng số bài gửi : 13
Join date : 10/05/2022

KTLT1. Dãy Wavio Empty
Bài gửiTiêu đề: Re: KTLT1. Dãy Wavio   KTLT1. Dãy Wavio EmptyWed May 11, 2022 4:20 pm

Code:

#include <iostream>

using namespace std;
int a[100007],n,b[1000007],c[100007],res;
void in()
{
   for(int i=1;i<=n;i++)
   {
       cout << a[i];
   }
   cout << endl;
}
void xuly()
{
   int k=0;
   for(int i=1;i<=n;i++)
   {
       if(a[i]==1)
       {
           k++;
           b[k]=c[i];
       }
   }
   if(k%2==1)
   {
       for(int i=2;i<=k/2+1;i++)
       {
           if(b[i]<=b[i-1]) return;
       }
       for(int i=k/2+2;i<=k;i++)
       {
           if(b[i]>=b[i-1]) return;
       }
       res=max(k,res);
   }
}
void snt(int i)
{
   for(int j=0;j<=1;j++)
   {
       a[i]=j;
       if(i==n) xuly();
       else snt(i+1);
   }
}
int main()
{
   ios_base::sync_with_stdio(0);
   cin.tie(0);
   freopen("WAVIO.INP","r",stdin);
   freopen("WAVIO.OUT","w",stdout);
   cin >> n;
   for(int i=1;i<=n;i++)
   {
       cin >> c[i];
   }
   snt(1);
   cout << res;
   //cout << "Hello world!" << endl;
   return 0;
}

Admin likes this post

Về Đầu Trang Go down
dobinhminh01




Tổng số bài gửi : 14
Join date : 10/05/2022

KTLT1. Dãy Wavio Empty
Bài gửiTiêu đề: Re: KTLT1. Dãy Wavio   KTLT1. Dãy Wavio EmptySat May 14, 2022 11:36 am

Code:
#include <bits/stdc++.h>

#define io freopen("wavio.inp","r",stdin); freopen("wavio.out","w",stdout);
#define faster ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define FOR(i,l,r) for (int i=l;i<=r;i++)
#define pb push_back
#define fr first
#define sc second
#define ll long long

using namespace std;

int r,l,n,j,a[10000],d;
    int g[10000]={0};
void kq()
{
    d=2;
    FOR(i,l+1,r)
    {
        if (a[j]>a[j-1]) {d++;}
    }
    l=l+d;
    for (int j=r-1;j>=l;j--)
    {
        if (a[j]>a[j+1]) {d++;} else {break;}
    }
}
int main()
{
    faster;
    io;
    cin >> n;
    for (int i=1;i<=n;i++)
    {
        cin >> a[i];
        if (a[i]>a[i-1]) {g[i]=g[i-1]+1;}
            else {g[i]=1;}
    }
    int res=0;
    FOR(i,2,n)
    {
        if (a[i]<a[i-1]) {g[i]=g[i]+g[i-1];}
        if (g[i]!=1&&g[i]>res&&g[i]%2==1)
        {
            r=i;
            l=r-g[i];
            cout << r << " " << l << endl;
            kq();
            res=max(res,d);
        }
    }
    cout << res;
    return 0;
}
Về Đầu Trang Go down
Sponsored content





KTLT1. Dãy Wavio Empty
Bài gửiTiêu đề: Re: KTLT1. Dãy Wavio   KTLT1. Dãy Wavio Empty

Về Đầu Trang Go down
 
KTLT1. Dãy Wavio
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» T1.2 Dãy số Wavio

Permissions in this forum:Bạn không có quyền trả lời bài viết
Hệ sinh thái số IELP :: Thực nghiệm phần C++ :: 8-Kỹ thuật lập trình-
Chuyển đến