返回列表 發帖
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int m,n;
  4. int t=0;
  5. int dif=0;
  6. int com=0;
  7. unordered_map<string,int> mp;
  8. int main()
  9. {
  10.     cin.tie(0);
  11.     ios::sync_with_stdio(0);
  12.     cin>>m>>n;
  13.     string a[n];
  14.     for(int i=0;i<n;i++)
  15.         cin>>a[i];
  16.     for(int i=0;i<n+1;i++)
  17.     {
  18.         if(i<m)
  19.         {
  20.             if(mp[a[i]]!=0)
  21.             {
  22.                 mp[a[i]]+=100;
  23.                 com+=100;
  24.             }
  25.             else
  26.             {
  27.                 mp[a[i]]++;
  28.                 com++;
  29.             }
  30.         }
  31.         else if(i==n)
  32.         {
  33.             if(com==m)
  34.                 dif++;
  35.             if(mp[a[i-m]]>100)
  36.             {
  37.                 com-=100;
  38.                 mp[a[i-m]]-=100;
  39.             }
  40.             else
  41.             {
  42.                 com-=mp[a[i-m]];
  43.                 mp[a[i-m]]--;
  44.             }
  45.         }
  46.         else
  47.         {
  48.             if(com==m)
  49.                 dif++;
  50.             if(mp[a[i-m]]>100)
  51.             {
  52.                 com-=100;
  53.                 mp[a[i-m]]-=100;
  54.             }
  55.             else
  56.             {
  57.                 com-=mp[a[i-m]];
  58.                 mp[a[i-m]]--;
  59.             }
  60.             if(mp[a[i]]!=0)
  61.             {
  62.                 mp[a[i]]+=100;
  63.                 com+=100;
  64.             }
  65.             else
  66.             {
  67.                 mp[a[i]]++;
  68.                 com++;
  69.             }
  70.         }
  71.     }
  72.     cout<<dif;
  73.     return 0;
  74. }
複製代碼

TOP

返回列表