今天做了几个题大赛的

来源:互联网 发布:深圳数控车床编程招聘 编辑:程序博客网 时间:2024/05/02 00:50

//第四章
/*
//Quicksum
#include<iostream>
#include<fstream>

using namespace std;

int main()
{
  ifstream cin("4-1.in");
  char c[256];
    int n=0;
  int sum=0;

    while(cin.getline(c,256))
    {
      int i=0;
      if(c[0]=='#') break;
           n++;
      while(c[i]!=' ')
    {

      sum+=(c[i]-64)*n;
      i++;
    }

    cout<<sum<<endl;
    sum=0;
    n=0;

    }
  return 0;
}

*/
/*
//书本上的Quicksum
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("4-1.in");
  char ch[256];
  int i=0,sum=0;
  while(cin.getline(ch,256))
    {
      if(ch[i]=='#') break;
      for(int i=0;ch[i]!='/0';i++)
    {
      if(ch[i]!=' ') sum+=(i+1)*(ch[i]-64);
    }
      cout<<sum<<endl;
      sum=0;
    }
  return 0;
}
*/

/*
//Quicksum
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("4-1.in");
  char ch[256];
  int sum=0;
  while(cin.getline(ch,256))
    {
      if(ch[0]=='#') break;
      for(int i=0;ch[i]!='/0';i++)
    {
      if(ch[i]!=' ')  sum+=(ch[i]-64)*(i+1);//这里漏了,现在补充回来,才正确了。
    }
      cout<<sum<<endl;
      sum=0;
    }

  return 0;
}
*/
/*
//这是我自己写的版本,不正确。
//IBM minus one
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("4-2.in");
  int n;
  cin>>n;
  for(int i=0;i<n;i++)
    {
      char wrd[255]={0};
      //      for(int j=0;(cin>>wrd[j])!='/0';j++)
      int j=0;
      cin>>wrd[j];
      cout<<"string #"<<i+1<<endl;
      while(wrd[j]!='/0')
    {
      wrd[j]=='Z'?cout<<"A":cout<<char(wrd[j]+1);
      j++;
      cin>>wrd[j];
    }
      cout<<endl;
    }
  return 0;
}
*/
/*
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
  ifstream cin("4-2.in");
  int n;
  string s;
  cin>>n;
  for(int i=0;i<n;i++)
    {
      cin>>s;
      cout<<"string #"<<i+1<<endl;
      for(int j=0;j<s.size();j++)
    {
            s[j]=='Z'?cout<<"A":cout<<char(s[j]+1);
      //            cout<<(s[j]=='Z'? char('A':(s[j]+1));//不知道怎的,书上的这句不行。
    }
      cout<<endl;
      cout<<endl;
    }
  return 0;
}
*/

/*
//Binary Numbers
//这是我的版本
#include<iostream>
using namespace std;
int main()
{
  int n;
  cin>>n;
  int i=0;
  while(n>0)
    {
      if(n%2==1) cout<<i<<" ";
      n/=2;
      i++;
    }
  return 0;
}
*/

/*
//Binary Number这是书上的版本,看起来有点复杂
#include<iostream>
#include<vector>
using namespace std;
int main()
{
  vector<int>v;
  int n,a;
  cin>>n;
  for(int i=0;i<n;i++)
    {
      cin>>a;
      v.clear();
      for(int j=a;j;j=j/2)
    {
      v.push_back(j%2?1:0);
    }
      int p=0;
      for(int k=0;k<v.size();k++)
    {
      if(v[k]==1)
        {
          if(p==0) cout<<k;
          else cout<<" "<<k;
          p=1;
        }
    }
      cout<<endl;
    }
  return 0;
}
*/

/*
//Encoding
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
  ifstream cin("4-4.in");
  int n;
  //  char ch[256];
  string s;
  cin>>n;
  for(int i=0;i<n;i++)
    {
      cin>>s;
      for(int j=0;j<s.size();j++)
    {
      int k=0;
      if(s[j+1]==s[j])
        {
          k++;
        }

    }

    }
}
*/

/*
//Ecoding
//这是我看懂了书,然后,自己写的,写的时候再没看书,有错了,就调试出来的。
//感觉还可以吧。这个题我一开始怎么也想不出来。
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("4-4.in");
  string s,t;
  int n;
  cin>>n;
  for(int i=0;i<n;i++)
    {
      cin>>s;
      t[0]=s[0];
      int temp=1;
      for(int j=1;j<s.size();j++)
    {
      if(s[j]==t[0])
        {
          temp++;
          if(j==s.size()-1)
        {
          if(temp==1) cout<<t[0];
          else cout<<temp<<t[0];
        }
        }
      else
        {
           if(j==s.size()-1)
        {
          if(temp==1) cout<<t[0]<<s[j];
          else cout<<temp<<t[0];
        }
           else
         {
           if(temp==1) cout<<t[0];
           else cout<<temp<<t[0];
         }
          t[0]=s[j];
          temp=1;
        }
    }
      cout<<endl;
    }
  return 0;
}
*/
/*
//我写的。
//Look and Say
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("4-5.in");
  int n;
  cin>>n;
  string s,t;
  for(int i=0;i<n;i++)
    {
      cin>>s;
      t[0]=s[0];
      int temp=1;
      for(int j=1;j<s.size();j++)
    {
      if(s[j]==t[0])
        {
          temp++;
          if(j==s.size()-1)
        {
          cout<<temp<<t[0];
        }
        }
      else
        {
          if(j==s.size()-1)
        {
          //          printf("")
                    cout<<temp<<t[0]<<1<<s[j];
        }
          else
        {

          printf("%d%c",temp,t[0]);
        }
          t[0]=s[j];

        }
    }

      printf("/n");
    }
  return 0;
}
*/


/*
//这是书上的版本。
//Look and Say
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("4-5.in");
  int n;
  cin>>n;
  string s,t;
  for(int i=0;i<n;i++)
    {
      int temp=0;
      cin>>s;
      t[0]=s[0];
      for(int j=0;j<s.size();j++)
    {
      if(s[j]==t[0])
        {
          temp++;
          if(j==s.size()-1)
        //        cout<<temp<<t[0];
        printf("%d%c",temp,t[0]);
        }
      else
        {
          cout<<temp<<t[0];
          t[0]=s[j];
          temp=1;
          if(j==s.size()-1)
        {
          //  cout<<temp<<t[0];
          printf("%d%c",temp,t[0]);
        }
        }

    }
      cout<<endl;
    }
  return 0;
}
*/

/*
//我写的,OK啦。
//Abbreviation
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
  fstream cin("4-6.in");
  int n;
  cin>>n;
  for(int i=0;i<n;i++)
    {
      string s,t;
      char s_arr[100],t_arr[100];
      int m1;
      int m2;
      cin>>m1;
      int j=0;
      while(j<m1)
    {
      cin>>s;
      s_arr[j]=s[0];
      //           cout<<s[0];
      j++;
    }
      //      cout<<" ";
      cin>>m2;
      if(m1!=m2)
    {
           cout<<"DIFFERENT"<<endl;
           continue;
    }
      int k=0;
      while(k<m2)
    {
      cin>>t;
      t_arr[k]=t[0];
      k++;
      //  cout<<t[0];
    }
      //      cout<<" ";
      int flag=1;
      for(int l=0;l<m1;l++)
    {
      if(s_arr[l]!=t_arr[l])
        {
             cout<<"DIFFERENT"<<endl;
         flag=0;
             break;
        }
    }
      if(flag)  cout<<"SAME"<<endl;
    }
  return 0;
}
*/
/*
//这是书上的版本
//Abbreviation
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
  ifstream cin("4-6.in");
  string s,ssa,ssb;
  int t,n,m;
  cin>>t;
  for(int i=0;i<t;i++)
    {
      cin>>n;
      for(int j=0;j<n;j++)
    {
      cin>>s;
      ssa=ssa+s[0];
    }
      cin>>m;
      for(int k=0;k<m;k++)
    {
      cin>>s;
      ssb=ssb+s[0];
    }
      if(ssa.compare(ssb)==0)
    {
      cout<<"SAME"<<endl;
    }
      else
    {
      cout<<"DIFFERENT"<<endl;
    }
      ssa="";
      ssb="";
    }
  return 0;
}
*/


//书上的版本
//The Seven Percent Solution
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("4-7.in");
  string s;
  char ss[80];
  while(cin.getline(ss,80))
    {
      if(ss[0]=='#') break;
      s=ss;
      for(int i=0;i<s.size();i++)
    {
      if(s[i]==' ') printf("%%20");
      else if(s[i]=='!') printf("%%21");
      else if(s[i]=='$') printf("%%24");
      else if(s[i]=='%') printf("%%25");
      else if(s[i]=='(') printf("%%28");
      else if(s[i]==')') printf("%%29");
      else if(s[i]=='*') printf("2a");
      else printf("%c",s[i]);
    }
      cout<<endl;
    }
  return 0;
}

原创粉丝点击