zoukankan      html  css  js  c++  java
  • 1401机器翻译(Noip2010提高组第1题)

     1 #include<iostream>
     2 using namespace std;
     3 int m,n,s=0;
     4 int a[1500];
     5 int z[1000];
     6 bool chazhao(int mm,int x)
     7 {
     8     for(int i=0;i<mm;i++)//遍历内存中数据,如果存在返回真
     9     {
    10         if(z[i]==x)return true;
    11     }
    12     for(int k=0;k<mm-1;k++)z[k]=z[k+1];//遍历之后,没有发现,腾出第一个,末尾存入---此处是一个典型的栈----
    13     z[mm-1]=x;    
    14     return false;
    15 }
    16 int main()
    17 {
    18     cin>>m>>n;
    19     for(int i=0;i<n;i++)
    20     {
    21     cin>>a[i];
    22     if(!chazhao(m,a[i]))s++;            
    23     }
    24     cout<<s;
    25     return 0;
    26 }

    第一次提交代码 90分

     1 #include<iostream>
     2 using namespace std;
     3 int m,n,s=0;
     4 int a[15000];//数组尽量开得大点
     5 int z[10001];//数组尽量开得大
     6 bool chazhao(int x)
     7 {
     8     for(int i=0;i<m;i++)
     9     {
    10         if(z[i]==x)return true;
    11     }
    12     for(int k=0;k<m-1;k++)z[k]=z[k+1];
    13     z[m-1]=x;    
    14     return false;
    15 }
    16 int main()
    17 {
    18     cin>>m>>n;
    19     for(int j=0;j<m;j++)z[j]=-1;//在第一次代码中全局数组默认值为0,而题目中说单词数是非负数,因此丢掉10分,so,这个初始值代码很重要!
    20     for(int i=0;i<n;i++)
    21     {
    22     cin>>a[i];
    23     if(!chazhao(a[i]))s++;            
    24     }
    25     cout<<s;
    26     return 0;
    27 }

    改进后的代码 100分

  • 相关阅读:
    Linux下c程序的编译方法:
    Linux分区机制和常见命令
    java虚拟机内存大小调整:
    break、continue、return循环三剑客之异同
    Scanner中的nextInt()陷阱
    windbg无法下载符号文件
    各种函数调用约定及浮点数传参
    一个crackme的分析
    SetProcessAffinityMask的问题
    x64内联汇编注意点
  • 原文地址:https://www.cnblogs.com/tflsnoi/p/8001361.html
Copyright © 2011-2022 走看看