惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The GitHub Blog
The GitHub Blog
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News
腾讯CDC
博客园 - 聂微东
The Cloudflare Blog
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
Last Week in AI
Last Week in AI
B
Blog

博客园 - zy_nic

SRM 424 div1 900 ProductOfPrices 翻译 .. emacs的c++mode contest contest 我的2-sat模板 Solution to GCJ Practice Contest Problem C, Cycles 约瑟夫问题的数学方法 我的模板 图的应用 pku3411 今天的比赛 关于建图的 死老鼠安装成功 pku3141 先帖个题目上来 hnu 11015 joj 儿死三八 pku 1273
hnu 11028
zy_nic · 2007-09-17 · via 博客园 - zy_nic

那天比赛的, x %y  当 x%y<0的时候  (而不是x<0的时候) 应该取  y+x%y;

#include <stdio.h>


#include 
<string.h>


int tx[2000],ty[2000];
int f[2000][2000];

int main()
{
    
int t,i,j,ans,x,y,d,n;
    scanf(
"%d",&t);
    
while (t--)
    
{
          memset(f,
0,sizeof(f));
          memset(tx,
0,sizeof(tx));
          memset(ty,
0,sizeof(ty));
          
          scanf(
"%d%d",&d,&n);
          
for (i=0;i<n;i++)
          
{
              scanf(
"%d%d",&x,&y);
              tx[ x 
% d >= 0 ? x % d : d+% d ]++;
              ty[ y 
% d >= 0 ? y % d : d+% d ]++;
              f[ x 
% d >= 0 ? x % d : d+% d ][ y % d >= 0 ? y % d : d+% d ]++;
          }

          
          ans
=n;
          
for (i=0;i<d;i++)
            
for (j=0;j<d;j++)
              
if (tx[i]+ty[j]-f[i][j]<ans) { ans=tx[i]+ty[j]-f[i][j];}
              
          printf(
"%d\n",ans);
    }

    
return 0;
}