4 条题解

  • 2
    @ 2022-8-9 9:54:27

    AC Code

    #include<bits/stdc++.h>
    using namespace std;
    int a[101],n,m,ans=0;
    int main(){
    //	freopen("tetris.in","r",stdin);
    //	freopen("tetris.out","w",stdout);
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)cin>>a[i];
    	switch(m){
    		case 1:{
    			for(int i=1;i<=n-3;i++)if(a[i]==a[i+1]&&a[i+1]==a[i+2]&&a[i+2]==a[i+3])ans++;
    			ans+=n;  //如果这种方块竖着放的话,那么放哪里都符合条件了。(想一想,为什么?)
    			break;
    		}
    		case 2:{
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1])ans++;
    			break;
    		}
    		case 3:{
    			for(int i=1;i<=n-1;i++)if(a[i+1]==a[i]-1)ans++;
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+1]&&a[i+2]==a[i+1]+1)ans++;
    			break;
    		}
    		case 4:{
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1]-1)ans++;
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+1]+1&&a[i+1]==a[i+2])ans++;
    			break;
    		}
    		case 5:{
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+1]&&a[i+1]==a[i+2])ans++;
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1]+1)ans++;
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1]-1)ans++;
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+1]+1&&a[i+2]==a[i+1]+1)ans++; 
    			break;
    		}
    		case 6:{
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+1]&&a[i+1]==a[i+2])ans++;
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1])ans++;
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1]+2)ans++;
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+2]-1&&a[i+1]==a[i+2])ans++;
    			break;
    		}
    		case 7:{
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1])ans++;
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+1]&&a[i+1]==a[i+2])ans++;
    			for(int i=1;i<=n-1;i++)if(a[i]==a[i+1]-2)ans++;
    			for(int i=1;i<=n-2;i++)if(a[i]==a[i+1]&&a[i+1]==a[i+2]+1)ans++;
    			break;
    		}
    	}
    	cout<<ans<<endl;
    	return 0;
    }
    
    
  • 0
    @ 2024-1-29 19:06:46

    • -1
      @ 2023-1-3 13:54:59

      • -1
        @ 2023-1-3 13:52:53

        image

      • 1

      信息

      ID
      1992
      时间
      1000ms
      内存
      256MiB
      难度
      1
      标签
      (无)
      递交数
      42
      已通过
      35
      上传者