洛谷P1540 機器翻譯

本題網(wǎng)站連接
這題是一道簡單模擬運算的題,思路很好想,并不難但很容易一個點給坑到:數(shù)據(jù)輸入可以為0?。?!因為我習慣將數(shù)組a初始化為0,并用0來作為判斷條件,所以某些情況會輸出錯誤,所以wa了兩次。
教訓:遇到出入情況有0的情況慎重考慮是否要以0為判斷條件和將數(shù)組初始化為0.(最后附上AC代碼)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int a[1010];
int b[1010];
int main()
{
    memset(a,-1,sizeof(a));
    int m,n,cnt = 0,ind = 0,nums = 0;
    scanf("%d%d",&m,&n);
    for(int i = 0;i<n;i++)
    {
      scanf("%d",&b[i]);
      if(a[b[i]]==-1)
      {
         if(cnt<m){
           a[b[i]] = 1;
           cnt++;
           nums++;
         }
         else{
         while(b[ind]==-1){
         ind++;
         }
         a[b[ind]] = -1;
         a[b[i]] = 1;
         ind++;
         nums++;
         }
      }
      else
         b[i]=-1;
    }
    printf("%d",nums);
    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容