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;
}Bear and Finding Criminals
c_cpp2 years ago
#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;
}(B) Petya and Countryside
c_cpp2 years ago
#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;
}