首页 > 代码库 > ural 1197. Lonesome Knight
ural 1197. Lonesome Knight
每次knight都能在水平或竖直方向移动两格,然后到向左或右偏移一格:
直接枚举:
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace std; 5 const int N=8; 6 const int M=‘h‘-‘a‘+1; 7 8 int solve(int x,int y){ 9 int cnt=0; 10 11 if(x+2<=N){ 12 if(y-1>=1) 13 cnt++; 14 if(y+1<=M) 15 cnt++; 16 } 17 18 if(x-2>=1){ 19 if(y-1>=1) 20 cnt++; 21 if(y+1<=M) 22 cnt++; 23 } 24 25 if(y-2>=1){ 26 if(x+1<=N) 27 cnt++; 28 if(x-1>=1) 29 cnt++; 30 } 31 if(y+2<=M){ 32 if(x+1<=N) 33 cnt++; 34 if(x-1>=1) 35 cnt++; 36 } 37 return cnt; 38 } 39 40 int main(){ 41 int t; 42 cin>>t; 43 while(t--){ 44 cin.get(); 45 char ch; 46 ch=getchar(); 47 int n; 48 cin>>n; 49 cout<<solve(n,ch-‘a‘+1)<<endl; 50 } 51 }
ural 1197. Lonesome Knight
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。