博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三届ACM山东省赛I题_Chess_STL
阅读量:6210 次
发布时间:2019-06-21

本文共 3889 字,大约阅读时间需要 12 分钟。

7600B的代码量,不说啥了,现场能不能做出来还要看运气.

2Y,第一次忘记输出t16,WA了。。。

代码如下:

#include 
#include
#include
#include
#include
using namespace std;struct point{ int x,y; bool operator<(const point&c) const { if (x!=c.x) return x
ID;map
>row,col,k1,k2;int _count[100005],cnt_ID,horse[100005],cnt_horse,ans[20];int dx[8]= {-2,-2,-1,-1,1,1,2,2},dy[8]= {1,-1,2,-2,2,-2,1,-1};int main(){ int i,j,T,n; scanf("%d",&T); for (int kcase=1; kcase<=T; ++kcase) { scanf("%d",&n); memset(_count,0,sizeof(_count[0])*n); ID.clear(); row.clear(); col.clear(); k1.clear(); k2.clear(); cnt_horse=cnt_ID=0; char c,ch; point p; mark m; int x,y; for (i=0; i
(); if (!col.count(y)) col[y]=vector
(); if (!k1.count(x+y)) k1[x+y]=vector(); if (!k2.count(x-y)) k2[x-y]=vector(); m.id=i,m.p=y; row[x].push_back(m); m.p=x; col[y].push_back(m); k1[x+y].push_back(m); k2[x-y].push_back(m); } for (map
>::iterator it=row.begin(); it!=row.end(); it++) sort(row[it->first].begin(),row[it->first].end()); for (map
>::iterator it=col.begin(); it!=col.end(); it++) sort(col[it->first].begin(),col[it->first].end()); for (map
>::iterator it=k1.begin(); it!=k1.end(); it++) sort(k1[it->first].begin(),k1[it->first].end()); for (map
>::iterator it=k2.begin(); it!=k2.end(); it++) sort(k2[it->first].begin(),k2[it->first].end());// printf("row :\n");// for (map
>::iterator it=row.begin(); it!=row.end(); it++)// {// printf("%d : ",it->first);// for (i=0; i
first].size(); ++i)// printf(" %d",row[it->first][i].id);// printf("\n");// }// for (map
>::iterator it=col.begin(); it!=col.end(); it++)// sort(col[it->first].begin(),col[it->first].end());// for (map
>::iterator it=k1.begin(); it!=k1.end(); it++)// sort(k1[it->first].begin(),k1[it->first].end());// for (map
>::iterator it=k2.begin(); it!=k2.end(); it++)// sort(k2[it->first].begin(),k2[it->first].end()); for (map
>::iterator it=row.begin(); it!=row.end(); it++) { int size=row[it->first].size(); for (i=0; i
first][i].id].role=='K') { if (i && row[it->first][i-1].p==row[it->first][i].p-1) ++_count[row[it->first][i-1].id]; if (i
first][i+1].p==row[it->first][i].p+1) ++_count[row[it->first][i+1].id]; } else if (information[row[it->first][i].id].role=='R' || information[row[it->first][i].id].role=='Q') { if (i) ++_count[row[it->first][i-1].id]; if (i
first][i+1].id]; } } } for (map
>::iterator it=col.begin(); it!=col.end(); it++) { int size=col[it->first].size(); for (i=0; i
first][i].id].role=='K') { if (i && col[it->first][i-1].p==col[it->first][i].p-1) ++_count[col[it->first][i-1].id]; if (i
first][i+1].p==col[it->first][i].p+1) ++_count[col[it->first][i+1].id]; } else if (information[col[it->first][i].id].role=='R' || information[col[it->first][i].id].role=='Q') { if (i) ++_count[col[it->first][i-1].id]; if (i
first][i+1].id]; } } } for (map
>::iterator it=k1.begin(); it!=k1.end(); it++) { int size=k1[it->first].size(); for (i=0; i
first][i].id].role=='K') { if (i && k1[it->first][i-1].p==k1[it->first][i].p-1) ++_count[k1[it->first][i-1].id]; if (i
first][i+1].p==k1[it->first][i].p+1) ++_count[k1[it->first][i+1].id]; } else if (information[k1[it->first][i].id].role=='B' || information[k1[it->first][i].id].role=='Q') { if (i) ++_count[k1[it->first][i-1].id]; if (i
first][i+1].id]; } } } for (map
>::iterator it=k2.begin(); it!=k2.end(); it++) { int size=k2[it->first].size(); for (i=0; i
first][i].id].role=='K') { if (i && k2[it->first][i-1].p==k2[it->first][i].p-1) ++_count[k2[it->first][i-1].id]; if (i
first][i+1].p==k2[it->first][i].p+1) ++_count[k2[it->first][i+1].id]; } else if (information[k2[it->first][i].id].role=='B' || information[k2[it->first][i].id].role=='Q') { if (i) ++_count[k2[it->first][i-1].id]; if (i
first][i+1].id]; } } } for (i=0; i

  

转载于:https://www.cnblogs.com/Chierush/archive/2013/06/05/3118173.html

你可能感兴趣的文章
linux下redis安装
查看>>
弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言
查看>>
JavaScript 数据类型
查看>>
量子通信和大数据最有市场突破前景
查看>>
StringBuilder用法小结
查看>>
UVa 10252-Common Permutation
查看>>
CSS - 修改input - placeholder 和 readonly 的样式
查看>>
android studio :cannot resolve symbol R
查看>>
paper 20 :color moments
查看>>
代码大全
查看>>
博客园作业4--数组
查看>>
DataTable.ImportRow()与DataTable.Rows.Add()的区别
查看>>
程序集、应用程序配置及App.config和YourSoft.exe.config .
查看>>
二叉树的基本操作及应用(三)
查看>>
A SimpleDataStore
查看>>
朱晔和你聊Spring系列S1E3:Spring咖啡罐里的豆子
查看>>
IOS CALayer的属性和使用
查看>>
温故而知新:柯里化 与 bind() 的认知
查看>>
查看修改swap空间大小
查看>>
Django REST framework
查看>>