C语言单循环比赛固定轮转法,高手请进,请教一道简单的c语言题!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
#include
#include
using namespace std;
ifstream fin("alpha.in");
ofstream fout("alpha.out");
#define cin fin
#define cout fout
int nn;
///
//LUP 解线性方程组
//by kicc
///
//index start from 1
const int N=30;
int aa[N][2*N];
int ans [N];
void printaa(){
int i,j;
for(i=0;i
for(j=0;j<2*nn;j++)cout<
cout<
}
cout<
}
int gcd(int a,int b){
return b==0?a:gcd(b,a%b);
}
void simple(int k){
int p=0,i;
for(i=0;i<2*nn;i++)p=gcd(p,aa[k][i]);
for(i=0;i<2*nn;i++)aa[k][i]/=p;
}
void LUP(){
int i,j,k,k1;
for(i=0;i
//printaa();
for(k=0;k
for(i=k;i
if(aa[i][k]!=0){
k1=i;
break;
}
}
assert(i!=nn);
for(i=0;i<2*nn;i++)
std::swap(aa[k][i],aa[k1][i]);
for(i=k+1;i
if(aa[i][k]==0)continue;
int b=aa[i][k];
for(j=k;j<2*nn;j++)
aa[i][j]=aa[i][j]*aa[k][k]-b*aa[k][j];
simple(i);
}
//printaa();
}
for(k=nn-1;k>=0;k--){
for(i=0;i
if(aa[i][k]==0)continue;
int b=aa[i][k];
for(j=0;j<2*nn;j++)
aa[i][j]=aa[i][j]*aa[k][k]-b*aa[k][j];
simple(i);
}
//printaa();
}
//printaa();
}
int bb[N];
int used[N];
void solveequ(){
int i,j,sum;
for(i=0;i
for(i=0;i
sum=0;
for(j=0;j
if(sum%aa[i][i]!=0)return;
int p=sum/aa[i][i];
if(p<0||p>=nn||used[p])return;
used[p]=1;
ans[i]=p;
}
for(i=0;i
cout<
if(i!=nn-1)cout<
else cout<
}
}
char equ[3][N];
void setaa(){
//printaa();
int i,j;
for(i=0;i
aa[i][equ[0][i]-'A']++;
aa[i][equ[1][i]-'A']++;
aa[i][equ[2][i]-'A']--;
}
//printaa();
}
void input(){
cin>>nn;
assert(1<=nn&&nn<=26);
cin>>equ[0]>>equ[1]>>equ[2];
assert(strlen(equ[0])==nn);
assert(strlen(equ[1])==nn);
assert(strlen(equ[2])==nn);
int i,j;
bool c[26];
for(i=0;i<26;i++)c[i]=false;
for(i=0;i<3;i++){
for(j=0;j
}
for(i=0;i
for(i=nn;i<26;i++)assert(c[i]==false);
}
void solve(){
int i,j,k;
setaa();
LUP();
int ss=1<
int b[30];
for(i=0;i
for(j=0;j
if(i&(1<
else b[j]=0;
}
b[nn-1]=0;
for(j=0;j
if(j==0)bb[nn-1-j]=nn*b[j];
else bb[nn-1-j]=nn*b[j]-b[j-1];
}
solveequ();
}
}
int main(){
input();
solve();
return 0;
}
这个是C++源码…�
C语言单循环比赛固定轮转法,高手请进,请教一道简单的c语言题!相关推荐
- c语言求满足不等式的最小值,高手请进,请教一道简单的c语言题!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include #include using namespace std; if ...
- ghost linux磁盘 出错,关于linux的磁盘ghost的问题,高手请进
关于linux的磁盘ghost的问题,高手请进 (2011-08-23 06:08:36) 标签: 杂谈 关于linux的磁盘ghost的问题,高手请进我是linux的服务器,磁盘是SCSI的32G单 ...
- c语言 随时启停程序 按钮,单片机C语言控制单按钮启停程序(高手请进)
void IR_Receive_function() { unsigned i=0,k=0; if (Ir_Over) { EX0=0; EX1=0; //关外部中断 if (DAT[0]==DAT[ ...
- c语言输入1到12月份,C语言高手请进下面是一个日历表,运行结果中能不能把1~12月份改 爱问知识人...
下面是一个日历表,运行结果中能不能把1~12月份改为英文的?要怎样改啊,谢谢!#include#includemain(){int i=0,m=0,k,j,n=0,l,first;int x[3]={ ...
- 字符串数组交换c语言,c语言指针数组和字符串数组的区别,高手请进
要对几个字符串排序后输出. 两个程序,只是对数组的定义不同,第一个定义的是指针数组,是对的:第二个定义的是字符串数组,却是错的.指针数组的v[i]和字符串数组的v[i]不都是表示指向一个字符串的一级指 ...
- 霍夫变换MATLAB怎么实现,做过Matlab关于霍夫变换检测圆的高手请进
Hough变换对圆的检测 Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线. Hough对圆的检测程序如下 完整的程序及 ...
- AI Studio下C语言编程:一道简单的C语言作业题目
简 介: 本文测试了在 AI Studio中进行C语言编程的过程.使用与 搭建AI Studio 中Python开发环境 同样的 "AIS" python文件,可以在Windows ...
- 高手请进关于RAID和热备
大家好 我是新人 在晚上2点来问个问题,希望高手能帮忙解决下. 我现在的硬件是:一台HP 180G6服务器 5620CPU (双)8G内存 14块1T热盘 212的RAID卡 大小256M 预装系 ...
- linux内核去掉pty,请问如何升级内核?高手请进!!!
请问各位高手,应当如何升级内核?小弟我现在使用的是redhat7.0 2.2.16,想升级为2.4.3,kernel已下载,是一个名为linux-2.4.3.tar.bz2的包,有19M大.请问以下我 ...
- 是编写回合制网游外挂的高手请进
小弟不才 学了点C++和一些 游戏基础==! 想做外挂 回合制的 多开游戏 自动自学打怪 做任务 思路都不懂 想请高手发表 回合制外挂的源代码 ...
最新文章
- 基于android的天气预报的设计与实现
- 《数学之美》第5章 隐含马尔可夫模型
- firedac的TFDStoredProc动态创建并调用存储过程
- arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1
- python使用函数可以减少内存吗_如何将Python内存占用缩小20倍?
- redis 源码 object.c 实现
- Spring MVC+layui(基于bootstrap)+t 新增功能(页面和数据传递)
- 5招详解linux之openEuler /centos7防火墙基本使用指南
- 发布时NSLog不打印信息
- 结合源码讲解Tabost
- JAVA 他人博客收藏 (To be continue)
- Google Maps 补丁绕过、得双倍奖金这么简单?我陷入了自我怀疑
- svn: E155036: Please see the ‘svn upgrade‘
- 搜集一些常见国家语言Unicode编码范围
- 2021年中国研究生数学建模竞赛B题——空气质量预报二次建模
- Qt QWidget视频上叠加文字
- 布谷鸟过滤器java使用_一种基于布谷鸟过滤器的云平台隐私保护方法与流程
- 数字电路基础(三)编码器和译码器
- html select文字居中显示,用CSS将select/option文本居中
- Centos8关闭防火墙