Вітаю Вас, Гість

Задача А.

#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main()
{
 ifstream fin;
 ofstream fout;
 fin.open("printer.dat", ios::in);
 fout.open("printer.ans", ios::out);
 float c,m,y,k;
 fin>>c>>m>>y>>k;
 float cc,mm,yy,kk;
 int l=0,t=0;
 string s="";
 while (fin>>cc>>mm>>yy>>kk)
 {
  c-=cc;m-=mm;y-=yy;k-=kk;
  if(c<0) {s+='C';t=1;}
  if(m<0) {s+='M';t=1;}
  if(y<0) {s+='Y';t=1;}
  if(k<0) {s+='K';t=1;}
  if(t==1)break;else l++;
 }
 fout<<l<<' ';
 if(t==1)fout<<s<<endl; else fout<<"PRINTING COMPLETE"<<endl;
}

 

Задача В.

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
 ifstream fin;
 ofstream fout;
 fin.open("friends.dat",ios::in);
 fout.open("friends.ans",ios::out);
 int n,a[101][101]={0},b[101],i,j,x,y,vn,vk,v,k=0,t;
 fin>>n;
 fin>>vn>>vk;

 while(fin>>x>>y)
 {
  a[x][y]=1;
  a[y][x]=1;
 }

 for(i=1;i<=n;i++)
  b[i]=101;

 b[vn]=0;
 t=1;k=0;
 while(t!=0)
 {t=0;
  for(j=1;j<=n;j++)

   if(b[j]==k)
    {
     for(i=1;i<=n;i++)
      if(a[j][i]==1 && b[i]>k){b[i]=k+1;t=1;}
    }
   k++;
 }

  if (b[vk]==101)fout<<"NO FRIENDS"<<endl;
  if (b[vk]-1<6) fout<<"YES "<<b[vk]-1<<endl;
  if (b[vk]-1>5 && b[vk]!=101) fout<<"NO "<<b[vk]-1<<endl;
}

 

Задача С.

#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main()
{
 ifstream fin;
 ofstream fout;
 fin.open("number.dat", ios::in);
 fout.open("number.ans", ios::out);
 long long n,a,m[101],k=1,i;
 char d[101];
 fin>>n;
 while (fin>>d[k]>>m[k])
 {
  k++;
 }
 for(i=k;i>=1;i--)
 {
  if(d[i]=='+')n-=m[i];
  if(d[i]=='-')n+=m[i];
  if(d[i]=='*')n/=m[i];
  if(d[i]=='/')n*=m[i];
 }
 fout<<n<<endl;
}

 

Задача D.

#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;

int bal(int p, int r, char t)
{
 int tab[3][4]={{3,12,30,60},{2,8,20,50},{1,5,16,40}};
 if(t=='O')return tab[p-1][r-2];else return tab[p-1][r-1];
}

int main()
{
 ifstream fin;
 ofstream fout;
 fin.open("rating.dat", ios::in);
 fout.open("rating.ans", ios::out);
 int b[2][101]={0},k=0,i,n,c,p,r,x,y,z,w;
 char t;
 fin>>n>>i;
 while (fin>>c>>p>>r>>t)
 {
  fin.ignore();
  b[0][c]+=bal(p,r,t);
  b[1][c]=c;
 }

 for (y=1;y<=n;y++)
  for(x=1;x<=n-y;x++)
   if (b[0][x]<b[0][x+1])
    {
          z=b[0][x+1];
          b[0][x+1]=b[0][x];
          b[0][x]=z;
          z=b[1][x+1];
          b[1][x+1]=b[1][x];
          b[1][x]=z;
         }

  y=0;z=0;k=0;

  for(x=1;x<=n;x++)
  {
        if(y!=b[0][x])z++;
        y=b[0][x];
        if(z>i)break;
        if (z==i){fout<<b[1][x]<<' '; k=1;}
  }

  w=z;z=0;y=0;
  if(k==0)
   for(x=1;x<=n;x++)
  {
        if(y!=b[0][x])z++;
        y=b[0][x];
        if (w==z)fout<<b[1][x]<<' ';
  }
  fout<<endl;
}

 

Задача Е.

#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <iomanip>
using namespace std;
int main()
{
 ifstream fin;
 ofstream fout;
 fin.open("set.dat",ios::in);
 fout.open("set.ans",ios::out);
 int i=0,j=0,k=0,n;
 double a[1001],b[1001],tp1=1,tp2=1,t;

 while(!fin.eof())
 {
  fin>>t;
  if(t!=7 && k==0){i++;a[i]=t;}
  if(t==7 && k==0)k=1;
  if(k==1 && t!=7){j++;b[j]=t;}
 }

 if(i!=j) fout<<"impossible to establish proportionality"<<endl;
 else
 {
  n=i;
  for(j=1;j<=n;j++)
   for(i=1;i<=n-j;i++)
    if(a[i+1]<a[i]){t=a[i+1];a[i+1]=a[i];a[i]=t;}

  for(j=1;j<=n;j++)
   for(i=1;i<=n-j;i++)
    if(b[i+1]<b[i]){t=b[i+1];b[i+1]=b[i];b[i]=t;}

  for(i=1;i<=n;i++)
  {
   if(a[i]/b[i]!=a[1]/b[1]) tp1=0;
   if(a[n-i+1]*b[i]!=a[n]*b[1]) tp2=0;
  }

  if(tp1==1)fout<<"directly proportional"<<' '<<setprecision(2)<<fixed<<a[1]/b[1]<<endl;
  if(tp2==1)fout<<"inversely"<<' '<<setprecision(2)<<fixed<<a[n]*b[1]<<endl;
  if(tp1!=1 && tp2!=1) fout<<"disproportionate"<<endl;
 }
}