CodeForces

 avatarjackoup
Public2 years ago8 Snippets
Search
Language
Sort by
📅 Created Date
Order

Decoding(B)

c_cpp2 years ago
#include <iostream>
using namespace std;

void fio() {
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
}


int main() {
    fio();
    int n;cin>>n;
    string word;cin>>word;
    int index = 0;
    char arr[n];
    int mid = (n-1)/2, left = mid-1,right = mid+1;
    arr[mid] = word[index++];
    for(int i = 0;i<n;i++,index++) {
        int size = n-index;
        if(size %2 == 0)
            arr[left--] = word[index];
        else
            arr[right++] = word[index];
    }

    for(char x:arr){
        cout<<x;
    }
    return 0;
}

B - President's Office

c_cpp2 years ago
#include <iostream>
#include <set>
 
using namespace std;
 
void fio() {
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
}
 
 
 
 
int main() {
    fio();
    int n;cin>>n;
    int m;cin>>m;
    char p;cin>>p;
 
 
    set<char> answer;
 
    char arr[n][m];
    for(int i =0;i<n;i++) {
        for(int j =0 ;j<m;j++) {
            cin>>arr[i][j];
        }
    }
    for(int i = 0;i<n;i++) {
        for(int j =0;j<m;j++) {
            if(arr[i][j] == p ) {
 
                //left
                if(j<m && j != 0){
                    char adjacent = arr[i][j-1];
                    if(adjacent != p && adjacent != '.')
                        answer.insert(adjacent);
                }
                //right
                 if(j>=0 && j !=m-1) {
                    char adjacent = arr[i][j+1];
                    if(adjacent != p && adjacent != '.')
                        answer.insert(adjacent);
                }
                // up
                if(i<n && i != 0) {
                    char adjacent = arr[i-1][j];
                    if(adjacent != p && adjacent !='.')
                        answer.insert(adjacent);
                }
                //down
                 if(i >=0 && i != n-1) {
                    char adjacent = arr[i+1][j];
                    if(adjacent != p && adjacent !='.')
                        answer.insert(adjacent);
                }
            }
        }
    }
    cout<<answer.size();
    return 0;
}
#include <iostream>

using namespace std;



int main(){
    int n;cin>>n;
    int index; cin>>index;
    int maxDistance = max(n-index,index-1 );
    index--;
    int distance = 1;
    int arr[n];
    for(int i =0 ;i<n;i++) {
        cin>>arr[i];
    }

    int counter = (arr[index] == 1)? 1:0;
    for(;distance <= maxDistance ;distance++) {
        if(index - distance >= 0 && index + distance < n)  {
            if(arr[index + distance] == 1 && arr[index - distance] == 1)
                counter+=2;
        }
        else if(index + distance < n && arr[index + distance] == 1) {
            counter++;
        }
        else if(index - distance >= 0 && arr[index - distance] == 1)
            counter++;

    }

    cout<<counter;

    return 0;

}
#include <iostream>
#include <vector>

using namespace std;



int main(){
   int n;cin>>n;
    vector<int> right(n,1) ,left(n,1);
    int arr[n];
    for (int i= 0;i<n;i++ ){
        cin>>arr[i];
    }
        //right section
    for(int i = 0;i<n-1;i++ ) {
        if(arr[i] < arr[i+1]) {
            right[i] = 1;
        }
        else {
            int index = i;
            while(arr[index] >= arr[index +1] && index < n-1) {
                right[i]++;
                index++;
            }
        }
    }
    int mx = 1;
    for(int i = n-1;i>0;i--) {
        if(arr[i]<arr[i-1]) {
            mx = max(left[i]+right[i] ,mx);
        }
        else {
            int index = i;
            while(arr[index] >= arr[index-1] && index >0) {
                left[i]++;
                index--;
            }
            left[i] = left[i] +right[i] - 1;
            mx = max(left[i],mx);
        }
    }
    cout<<mx;

    return 0;
}

letter

c_cpp2 years ago
#include <iostream>

using namespace std;
void fio() {
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
}

int main() {
    fio();
    int n;cin>>n;
    int m;cin>>m;
    char arr[n][m];
    int minColumn = m,maxColumn =-1,minRow=n,maxRow=-1;
    for(int i =0;i<n;i++) {
        for(int j =0;j<m;j++) {
            cin>>arr[i][j];
            if(arr[i][j] == '*') {
                minColumn = min(minColumn, j);
                maxColumn = max(maxColumn,j);

                maxRow = max(maxRow,i);
                minRow = min(minRow,i);
            }
        }
    }

    for(int i = minRow;i<=maxRow;i++){
        for(int j = minColumn;j<=maxColumn;j++ ){
            cout<<arr[i][j];;
        }
        if(i != maxRow)
            cout<<"\n";
    }

    return 0;
    }
  • Total 8 snippets
  • 1
  • 2