At line 36 added 255 lines |
|
|
!!Подароци |
|
%%prettify |
{{{ |
#include <iostream> |
#include<sstream> |
#include<cstring> |
#include<string> |
#include<iomanip> |
#include<stdio.h> |
#include<queue> |
#include<vector> |
#include<list> |
#include<map> |
#include<algorithm> |
#include<cmath> |
#include<math.h> |
#define pb push_back |
#define MS(a,y) memset(a,y,sizeof(a)) |
using namespace std; |
int di[4]={1,-1,0,0},dy[4]={0,0,1,-1}; |
int main() |
{ |
int a[150],n,i,j=0,k,ans=0; |
cin>>n; |
for(i=0;i<n;i++) {cin>>a[i]; j+=a[i];} |
if(j%n!=0) |
{ |
cout<<"GRESHKA"<<endl; |
return 0; |
} |
for(i=0;i<n;i++) if(a[i]>j/n) ans+=a[i]-j/n; |
cout<<ans<<endl; |
return 0; |
} |
|
}}} |
/% |
|
!!Порака |
|
%%prettify |
{{{ |
#include <iostream> |
#include<sstream> |
#include<cstring> |
#include<string> |
#include<iomanip> |
#include<stdio.h> |
#include<queue> |
#include<vector> |
#include<list> |
#include<map> |
#include<algorithm> |
#include<cmath> |
#include<math.h> |
#define pb push_back |
#define MS(a,y) memset(a,y,sizeof(a)) |
using namespace std; |
int main() |
{ |
int n,k,e,cur=0,i,j,ans=0; |
cin>>n>>k; |
string a; |
cin>>a; |
for(e=0;e<k;e++){ |
int d=999999; |
for(i=0;i<a.size();i+=k) |
{ |
cur=0; |
for(j=0;j<a.size();j+=k) |
{ |
int ni=i+e,nj=j+e; |
if(i==j) continue; |
if(a[ni]!=a[nj]) cur++; |
|
} |
d=min(d,cur); |
} |
ans+=d; |
} |
cout<<ans; |
return 0; |
} |
|
}}} |
/% |
|
!!Коцки |
|
%%prettify |
{{{ |
#include <iostream> |
#include<sstream> |
#include<cstring> |
#include<string> |
#include<iomanip> |
#include<stdio.h> |
#include<queue> |
#include<vector> |
#include<list> |
#include<map> |
#include<algorithm> |
#include<cmath> |
#include<math.h> |
#define pb push_back |
#define MS(a,y) memset(a,y,sizeof(a)) |
using namespace std; |
int main() |
{ |
long long n,i,j,k,dp[90]; |
cin>>n; |
MS(dp,0); |
|
dp[3]=1; |
for(i=4;i<=n;i++) |
{ |
dp[i]++; |
for(j=3;j<i;j++) |
dp[i]+=i-j+1; |
for(k=3;k<=n;k++) |
for(j=i-k-1;j>0;j--) |
dp[i]+=dp[j]; |
} |
|
|
cout<<dp[n]+1<<endl; |
return 0; |
} |
}}} |
/% |
|
!!Лавиринт |
|
%%prettify |
{{{ |
#include <iostream> |
#include<sstream> |
#include<cstring> |
#include<string> |
#include<iomanip> |
#include<stdio.h> |
#include<queue> |
#include<vector> |
#include<list> |
#include<map> |
#include<algorithm> |
#include<cmath> |
#include<math.h> |
#define pb push_back |
#define MS(a,y) memset(a,y,sizeof(a)) |
using namespace std; |
int di[4]={1,-1,0,0},dj[4]={0,0,1,-1}; |
int main() |
{ |
int n,m,pi,pj,ei,ej; |
cin>>n>>m; |
char mat[310][310]; |
int i,j,k,l; |
for(i=0;i<n;i++) |
for(j=0;j<m;j++) |
{ |
cin>>mat[i][j]; |
if(mat[i][j]=='P') |
{ |
pi=i; |
pj=j; |
} |
else if(mat[i][j]=='K') |
{ |
ei=i; |
ej=j; |
} |
} |
int dp[310][310][4]; |
MS(dp,-1); |
queue<int> qi,qj,qc,t; |
qi.push(pi); |
qj.push(pj); |
qc.push(0); |
t.push(1); |
dp[pi][pj][1]=0; |
int c,r; |
while(!qi.empty()) |
{ |
i=qi.front(),j=qj.front(),c=qc.front(),r=t.front(); |
qi.pop(),qj.pop(),qc.pop(),t.pop(); |
if(r==1) |
{ |
for(k=0;k<4;k++) |
{ |
int ni=i+di[k],nj=j+dj[k]; |
if(ni>=0 & ni<n & nj>=0 & nj<m) |
if(dp[ni][nj][r]==-1 | c+1<dp[ni][nj][r]) |
if(mat[ni][nj]!='#') |
{ |
dp[ni][nj][r]=c+1; |
qi.push(ni); |
qj.push(nj); |
qc.push(c+1); |
t.push(2); |
} |
} |
} |
else if(r==2) |
{ |
for(k=0;k<4;k++){ |
int ti=i+di[k],tj=j+dj[k]; |
if(ti<0 | ti>=n | tj<0 | tj>=m) continue; |
if(mat[ti][tj]=='#') continue; |
int ni=i+di[k]*2,nj=j+dj[k]*2; |
if(ni>=0 & ni<n & nj>=0 & nj<m) |
if(dp[ni][nj][r]==-1 | c+1<dp[ni][nj][r]) |
if(mat[ni][nj]!='#') |
{ |
dp[ni][nj][r]=c+1; |
qi.push(ni); |
qj.push(nj); |
qc.push(c+1); |
t.push(3); |
} |
} |
} |
else |
{ |
for(k=0;k<4;k++){ |
int ti=i+di[k],tj=j+dj[k]; |
if(ti<0 | ti>=n | tj<0 | tj>=m) continue; |
if(mat[ti][tj]=='#') continue; |
ti=i+di[k]*2,tj=j+dj[k]*2; |
if(ti<0 | ti>=n | tj<0 | tj>=m) continue; |
if(mat[ti][tj]=='#') continue; |
int ni=i+di[k]*3,nj=j+dj[k]*3; |
if(ni>=0 & ni<n & nj>=0 & nj<m) |
if(dp[ni][nj][r]==-1 | c+1<dp[ni][nj][r]) |
if(mat[ni][nj]!='#') |
{ |
dp[ni][nj][r]=c+1; |
qi.push(ni); |
qj.push(nj); |
qc.push(c+1); |
t.push(1); |
} |
} |
} |
} |
int ans=999999; |
for(i=1;i<4;i++) if(dp[ei][ej][i]!=-1) ans=min(ans,dp[ei][ej][i]); |
cout<<ans<<endl; |
return 0; |
} |
}}} |
/% |