思路   如果进制为p    那么当x<p时 (p-1)*(p-x)=(p-(x+1))  *p +x     因为x<p  所以没有进位  所以高位上的数字为    p-(x+1)。

根据上面所述。 只要我们能找出 p-1   那么我们根据(p-1)*(p-1)的高位为p-2 就能找出p-2 。找出p-2根据  (p-1)*(p-2)的高位为(p-3) 就能找出p-3.。。。。任务就转化成找出p-1。 我们会发现 从0-(p-2)  都会出现在高位。唯有p-1不会出现。那么就知道要出高位没出现过的数字  就为p-1    那么问题就解决了。由于题目有说读入数据量很大,可以加个读入优化。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include <iostream>
using namespace std;
int ans[];
bool bo[];
int a[][];
inline int ReadInt()//优化接受int数,省时间,具体内容自己看懂,当成模板使用
{
char ch = getchar();
int data = ;
while (ch < '' || ch > '')
ch = getchar();
do
{
data = data * + ch - '';
ch = getchar();
} while (ch >= '' && ch <= '');
return data;
}
int s[][];
int main() {
int p,ri=;
while(scanf("%d",&p)&&p)
{
for(int i=;i<p;++i)bo[i]=false;
for(int i=;i<p;++i)
{
for(int j=;j<*p;++j)
{
a[i][j]=ReadInt();
if(!(j&))
{
s[i][j>>]=a[i][j];
bo[a[i][j]]=true;
}
}
}
for(int i=;i<p;++i)
if(!bo[i])
{
ans[p-]=i;
break;
}
int pre=ans[p-];
for(int i=p-;i>=;--i)
{
ans[i]=s[ans[p-]][pre];
pre=ans[i];
}
printf("Case #%d:",++ri);
for(int i=;i<p;++i)
printf(" %d",ans[i]);
puts("");
}
return ;
}

HDU 4951 Multiplication table(2014 Multi-University Training Contest 8)的更多相关文章

  1. HDU 4951 Multiplication table 阅读题

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4951 题意:给一个P进制的乘法表.行和列分别代表0~p-1,第i行第j*2+1和第j*2+2列代表的是第i ...

  2. HDU 6091 - Rikka with Match | 2017 Multi-University Training Contest 5

    思路来自 某FXXL 不过复杂度咋算的.. /* HDU 6091 - Rikka with Match [ 树形DP ] | 2017 Multi-University Training Conte ...

  3. HDU 6125 - Free from square | 2017 Multi-University Training Contest 7

    思路来自这里 - - /* HDU 6125 - Free from square [ 分组,状压,DP ] | 2017 Multi-University Training Contest 7 题意 ...

  4. HDU 6129 - Just do it | 2017 Multi-University Training Contest 7

    比赛时脑子一直想着按位卷积... 按题解的思路: /* HDU 6129 - Just do it [ 规律,组合数 ] | 2017 Multi-University Training Contes ...

  5. HDU 6088 - Rikka with Rock-paper-scissors | 2017 Multi-University Training Contest 5

    思路和任意模数FFT模板都来自 这里 看了一晚上那篇<再探快速傅里叶变换>还是懵得不行,可能水平还没到- - 只能先存个模板了,这题单模数NTT跑了5.9s,没敢写三模数NTT,可能姿势太 ...

  6. HDU 6093 - Rikka with Number | 2017 Multi-University Training Contest 5

    JAVA+大数搞了一遍- - 不是很麻烦- - /* HDU 6093 - Rikka with Number [ 进制转换,康托展开,大数 ] | 2017 Multi-University Tra ...

  7. HDU 6085 - Rikka with Candies | 2017 Multi-University Training Contest 5

    看了标程的压位,才知道压位也能很容易写- - /* HDU 6085 - Rikka with Candies [ 压位 ] | 2017 Multi-University Training Cont ...

  8. HDU 6057 - Kanade's convolution | 2017 Multi-University Training Contest 3

    /* HDU 6057 - Kanade's convolution [ FWT ] | 2017 Multi-University Training Contest 3 题意: 给定两个序列 A[0 ...

  9. HDU 6061 - RXD and functions | 2017 Multi-University Training Contest 3

    每次NTT都忘记初始化,真的是写一个小时,Debug两个小时- - /* HDU 6061 - RXD and functions [ NTT ] | 2017 Multi-University Tr ...

随机推荐

  1. 如何在win7上安装ant-design

    1.首先要安装务必确认 Node.js 已经升级到 v4.x 或以上. 2.打开cmd,输入"npm install antd-init -g",安装antd(可以自己先指定安装目 ...

  2. 第三天的学习知识HTML5常用的重要单词

    a:   a:猫     address:地址     alt:替用(一般是图片显示不出的提示) b:   b:粗体     br:换行     background:背景     border:边框 ...

  3. 关于equals、hashcode和集合类的小结

    一.首先明确一点:equals()方法和hashcode()方法是Object类里的方法. 查看源码可以知道,在Object类中equals(obj)方法直接返回的是  this == obj 的值. ...

  4. Codeforces Round #388 (Div. 2) A,B,C,D

    A. Bachgold Problem time limit per test 1 second memory limit per test 256 megabytes input standard ...

  5. Linux下不同服务器间数据传输

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

  6. XAF点滴:很具体很用实用---处理三个小问题

    以下内容全部为web版本的老模板风格下完成. 一.在编辑状态的详细视图下打印报表. 有些时候,需要在编辑状态下直接打印报表内容,官方默认是不允许这样做的.用Reflector查看源码,可以看到: De ...

  7. html在一个页面显示另一个页面的部分内容

    老板今天让在网站上面显示实时监控画面,研究了一早,找了个简单的方法 先把监控分享在网上(我使用的海康威视摄像头,分享到萤石直播http://square.ys7.com/square/index.js ...

  8. base64

    <jsp:param name="modle" value=<%=base64.getBase64(8+"") %>/> 页面报错:

  9. Maven将依赖的所有jar包打成一个jar

    有些特殊情况下,需要将多个jar包打包成一个jar文件.如果使用maven可以加入如下插件: <build> <plugins> <plugin> <arti ...

  10. XMLHttpRequest.status状态码

    XMLHttpRequest.status状态码1xx-信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应. 100-继续. 101-切换协议. 2xx-成 ...