// 出自ICPC 2018网络赛C - Dream & D - Find Integer

// 对大佬来讲的水题,本菜鸡尽量学会的防爆零题。。。

// 今晚翻看vjudge昨日任务上的C题,发现好多人一发过了,我想它应该不难吧,但自己始终没想明白,到底该如何构造一种符合题意封闭的加法和乘法运算。

// 参考了这里的说明,才完全弄懂了,写点东西记录学习成果。

C - Dream (HDU 6440)

题目要求重新定义加法和乘法,对任意非负整数都满足:(m+n)p=mp+np,其中p为素数。 之前我在数论部分的博客已经提到过费马小定理,比赛时候面对这题时竟然完全没有联想到,反倒还被题目的各种概念给绕晕。这里再次说明费马小定理

假如p是质数,且gcd(a,p)=1,那么 ap-1≡1(mod p)

这样就找到了符合题意的运算,即模p加法与模p乘法。明白这一点,代码就很简单了:

#include <cstdio>.
#include <iostream>
#define sci(i) scanf("%d", &i)
#define rep(i, a, b) for(int i=a;i<b;i++)
using namespace std; int main()
{
int T; sci(T);
while(T--)
{
int p; sci(p);
rep(i, , p)
{
rep(j, , p)
printf("%d ", (i+j)%p);
printf("\n");
} rep(i, , p)
{
rep(j, , p)
printf("%d ", i*j%p);
printf("\n");
}
}
return ;
}

// 第一次尝试用以上宏定义#define的新姿势,代码更显简短清爽~~~

 

D - Find Interger (HDU 6441)

题意很明朗: 给定a和n,求满足条件 an+bn=cn 的正整数b和c。

// 上一行会吞字,原因不明。。。

// 避免吞字,截图插入。。。

// 左边原文,右边显示

这与费马大定理有关:

当整数时,关于的方程没有正整数解

那么题目就简单分四种情况:

  1. n>2,由费马大定理可知,不存在解
  2. n=0时,等式恒不成立,无解输出 -1 -1
  3. n=1时,可取b=1, c=a+1
  4. 对于n=2的解(b, c),详细见代码部分的注释
#include <iostream>
#include <cstdio>
using namespace std; int n, a;
int main()
{
int T;
cin>>T;
while(T--)
{
scanf("%d %d", &n, &a);
if(n>||n==) {printf("-1 -1\n"); continue; }
if(n==) {printf("1 %d\n", a+); continue; }
else
{ //a*a = c*c - b*b = (c-b)*(c+b)
if(a&) // c-b=1, c+b=a*a
printf("%d %d\n", (a*a-)/, (a*a+)/);
else // c-b=2, c+b=a*a/2
printf("%d %d\n", (a*a/-)/, (a*a/+)/);
}
}
return ;
}

End.

水题两篇 Dream & Find Integer (HDU 6440/6441)的更多相关文章

  1. 寒假第一发(CF水题两个)

    地址http://codeforces.com/contest/799 A. Carrot Cakes In some game by Playrix it takes t minutes for a ...

  2. 每日一刷(2018多校水题+2016icpc水题)

    11.9 线段树 http://acm.hdu.edu.cn/showproblem.php?pid=6315 求逆序对个数 http://acm.hdu.edu.cn/showproblem.php ...

  3. HDU 5832 A water problem(某水题)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  4. hdu 2393:Higher Math(计算几何,水题)

    Higher Math Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  5. HDU 5578 Friendship of Frog 水题

    Friendship of Frog Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.ph ...

  6. HDU 5832 A water problem (带坑水题)

    A water problem 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5832 Description Two planets named H ...

  7. HDU 5538 L - House Building 水题

    L - House Building Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.ph ...

  8. 动态规划之HDU水题

    做水题的感觉真好系列 HDU 2084 数塔 1: 12: 1 23: 1 2 34: 1 2 3 45: 1 2 3 4 5 dp[i][j]第i行第j个数取得的最大值dp[i][j] = max( ...

  9. <hdu - 3999> The order of a Tree 水题 之 二叉搜索的数的先序输出

    这里是杭电hdu上的链接:http://acm.hdu.edu.cn/showproblem.php?pid=3999  Problem Description: As we know,the sha ...

随机推荐

  1. 解决通过vmware克隆虚拟机后,无法上网的问题

    注意:如果源主机是CentOS 6.8,复制出来的机器会出现无法上网. 如果源主机是CentOS 7,复制出来的机器可以正常上网.复制后,只要改下IP地址即可上网. 出现该问题的原因是,我们克隆后,将 ...

  2. JS事件 鼠标经过事件(onmouseover)鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

    鼠标经过事件(onmouseover) 鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序. 现实鼠标经过"确定&quo ...

  3. JS函数 函数的作用,可以写一次代码,然后反复地重用这个代码。

    什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum; sum = 3+2; alert(sum); sum=7+8 ; alert(sum ...

  4. 数据库MySQL--分页查询

    应用场景:当显示的数据一页无法全部显示,则需要分页提交sql请求 语法: select 查询列表 from 表 {    (join type)join 表2 on 连接条件 where 筛选条件 g ...

  5. BlueHost主机建站方案怎样选择?

    BlueHost是知名美国主机商,近年来BlueHost不断加强中国市场客户的用户体验,提供多种主机租用方案,基本能够满足各类网站建设需求.下面就和大家介绍一下建站应该怎样选择主机. 1.中小型网站 ...

  6. truncate、delete、drop

    相同点: 1.三者共同点: truncate.不带where字句的delete.drop都会删除表内的数据 2.drop.truncate的共同点: drop.truncate都得DDL语句(数据库定 ...

  7. range和arange

    a = np.arange(12) print(a, type(a)) b = range(10) print(b, type(b)) li = list(b) print(li) 拓展: 两个参数: ...

  8. Let's Encryt免费SSL证书申请[我司方案]

    Let's Encrypt颁发的证书是目前生产的大多数浏览器都信任的,您只需下载并运行Let's Encrypt客户端来生成一个证书即可. 在颁发证书之前,需要验证您的域名的所有权.首先,在您的主机上 ...

  9. JavaScript中的表单编程

    表单编程 1获取表单相关信息 1.什么是表单元素 1.什么是表单元素 在H TML中表单就是指form标签,它的作用是将用户输入或选择的数据提交给指定的服务器 2.如何获取表单元素 <form ...

  10. 怎么规划一个零基础学习Unity3D的“方法”或者“流程”?

    具体出处:https://www.zhihu.com/question/35542990 我只是一个计算机相关专业毕业的,已经掌握了基础的C#并开发过.net的.目前突然心血来潮对unity3D有兴趣 ...