CF963C

首先假设横向被分成p块纵向被分成q块,\(C_i\)为横向长度为\(i\)的方块个数,\(D_i\)为纵向长度为\(i\)的方块个数

\(p\times q=\)总块数T,q要是所有\(C_i\)的gcd的因数,p是所有\(D_i\)的gcd的因数

然后随手一交发现不对,比如\(1\times 1=2, 1\times 2=1, 2\times 1=1, 2\times 2=2\)

设长x宽y的块有\(w_{x,y}\)个,这就要求对于制定的长x\(w_{x,1}:w_{x,2}:\cdot \cdot \cdot :w{x,k}=D_1:D_2:\cdot \cdot \cdot :D{k}\)

冷静分析一下就是\(\frac{w_{x,y}}{C_x}=\frac{D_y}{T}\)

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<map>
#include<cmath>
#define LL long long
#define LD long double
using namespace std; const int M = 1000001;
map<LL,LL>mg,mh;
LL T,n,m,k,x,y,c,G,H,res,a[M],b[M],d[M]; LL gcd(LL x,LL y)
{
if(!y) return x;
return gcd(y,x%y);
} int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x>>y>>c;
if(mg.find(x)==mg.end()) mg[x]=0;
if(mh.find(y)==mh.end()) mh[y]=0;
mg[x]+=c; mh[y]+=c;
T+=c;
a[i]=x, b[i]=y, d[i]=c;
} map<LL,LL>::iterator it; it=mg.begin();
while(it!=mg.end()) G=gcd(G,it->second),it++; it=mh.begin();
while(it!=mh.end()) H=gcd(H,it->second),it++; for(int i=1;i<=n;i++)
{
if(fabs((LD)d[i]/mg[a[i]]-(LD)mh[b[i]]/T)>1e-10)
{
printf("0");
return 0;
}
} if(H<G) swap(H,G);
LL k=sqrt(G); for(int i=1;i<=k;i++) if(G%i==0)
{
if(T%i==0 && H%(T/i)==0) res+=1ll;
if(i*i!=G && T%(G/i)==0 && H%(T/(G/i))==0) res+=1ll;
}
cout<<res;
}

CF963的更多相关文章

随机推荐

  1. LR 场景设置

    LR 场景设置group:多个脚本按照独立设置模式跑,各个脚本可以单独设置虚拟用户.运行时间scenario:多个脚本之间按照相同模式跑,将总的虚拟用户数按照一定比例分配给各个脚本 schedule ...

  2. 调用Consul服务(消费服务)

    调用Consul服务(消费服务) 依赖项 在spring-cloud-consul-client项目中添加依赖项,POM文件内容中添加如下依赖项: <dependency> <gro ...

  3. Python 的PIL,可以解决ImportError The _imagingft C module is not installed

    删除PIL相关文件 mv PIL /tmp   pip install Pillow 安装Pillow后, 可能还会发生KeyError的错误, 检查项目源码后发现是 Image 模块的save函数中 ...

  4. go中整型的用法小结

    示例 // 整型的用法小结 // 注意: // 整型变量在使用时,遵循保小不保大的原则 // 尽量使用占用空间小的数据类型 package main import ( "fmt" ...

  5. 前端学习(二十六)移动端s(笔记)

    ===================================================弹性布局rem布局---------------------------------------- ...

  6. java基础学习笔记五(抽象类)

    java基础学习总结——抽象类 抽象类介绍

  7. leetcode-第14周双周赛-1274-矩形内船只的数目

    题目描述: 自己的提交: # """ # This is Sea's API interface. # You should not implement it, or s ...

  8. 内核设备模型从kobject到子系统

                                         内核设备模型 目的:表示设备和设备在系统中的拓扑关系 优点:1减少内核代码量,2可以统一查看所有设备状态和所连接的总线,3可以 ...

  9. SPI总线介绍和裸机编程分析

    一.SPI总线结构 SPI(Serial Peripheral Interface)串行外设接口,是一种高速的,全双工,同步的通信总线.采用主从模式(Master Slave)架构,支持多个slave ...

  10. POJ 2528(线段树+离散化+特殊离散化)网上博客很少有人真正写对!!! 是POJ数据太水...

    Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral electio ...