| 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; |
| } |
| }}} |
| /% |