• 第5题:棋盘


    第5题:棋盘

    这道题有一点毒瘤,很坑。

    原来还有输是哪些,我呢就爆0了

    我向龚胤翔投诉,结果龚胤翔破例,给了我第一个数据点,我测了一下,发现问题出在顺序上,结果龚胤翔就改了题目,也改了数据点。

    然后,我AC了

    这道题有一点跟炮那题类似

    #include <bits/stdc++.h>
    using namespace std;
    char a[55][55];
    string work(string st){
    	string ans="";
    	for(int i=0;i<st.size();i++)ans=st[i]+ans;
    	return ans;
    }
    int gcd(int x,int y){
    	if(x==0||y==0)return max(x,y);
    	if(x%y==0)return y;
    	return gcd(y,x%y);
    }
    int main(){
    	int n,ans=0;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    		for(int j=1;j<=n;j++)
    			cin>>a[i][j];
    	for(int i=1;i<=n;i++)
    		for(int j=1;j<=n;j++)
    			for(int x=0;x<=n;x++)
    				for(int y=0;y<=n;y++){
    					if(x==0&&y==0)continue;
    					if(i-x<1&&gcd(x,y)==1||j-y<1&&gcd(x,y)==1){//一定是小于,不能是小于等于,陈书扬曾经在这里入坑
    						int tx=i,ty=j;
    						string st="";
    						while(tx<=n&&ty<=n){
    							st+=a[tx][ty];
    							tx+=x;
    							ty+=y;
    						}
    						if(work(st)==st&&st.size()>2)ans++;
    					}
    				}
    	cout<<ans;
    	return 0;
    }
    

    其实就是大模拟,个人觉得也没有什么技术含量,就写到这里吧。

  • 相关阅读:
    MySQl查询语句大全
    并发编程三
    并发编程二
    并发编程
    网络编程
    面向对象高级进阶
    python中的面向对象和面向过程
    为什么还需要学习TypeScript
    Chrome 神器,神奇的技巧
    vue-property-decorator知识梳理
  • 原文地址:https://www.cnblogs.com/zhaohaikun/p/12816993.html
Copyright © 2020-2023  润新知