一眼题...输出分数格式才是这题的难点QAQ

  学习了分数结构体...

#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
const int maxn=,inf=1e9;
struct fra{ll u,d;fra(ll a=,ll b=){u=a,d=b;}}f[maxn][maxn];
int n,m;
bool mp[maxn][maxn];
int readch()
{
char ch=getchar();
while(ch==' '||ch=='\n'||ch=='\t'||ch=='\r')ch=getchar();
return ch=='*';
}
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
void sim(fra &x){ll t=gcd(x.u,x.d);x.u/=t;x.d/=t;}
fra operator+(fra x,fra y)
{
ll t=gcd(x.d,y.d);
fra c=fra(y.d/t*x.u+x.d/t*y.u,x.d/t*y.d);
return sim(c),c;
}
fra operator*(fra x,fra y)
{
fra c=fra(x.u*y.u,x.d*y.d);
return sim(c),c;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
for(int j=;j<=i;j++)
mp[i][j]=readch();
f[][]=fra(,);
for(int i=;i<=n;i++)
for(int j=;j<=i;j++)
if(mp[i][j])f[i+][j]=f[i+][j]+f[i][j]*fra(,),f[i+][j+]=f[i+][j+]+f[i][j]*fra(,);
else f[i+][j+]=f[i+][j+]+f[i][j];
printf("%lld/%lld",f[n+][m+].u,f[n+][m+].d);
return ;
}

最新文章

  1. 浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)
  2. composer 安装
  3. PhpSms 稳定可靠的php短信发送库
  4. (转)原始图像数据和PDF中的图像数据
  5. go语言指针符号的*和&amp;
  6. 支持多种浏览器的纯css下拉菜单
  7. C++-copy constructor、copy-assignment operator、destructor
  8. UI1_UIScrollView
  9. mybatis传入map参数parameterType
  10. iOS 项目中将 http 改成 https 后需要改动的地方(密钥验证)
  11. 关于在SLES11, RHEL6, OEL6 and UEK2 Kernels使用hugepages的告警
  12. VHDL TestBench 测试终止时自动结束仿真——assert方法
  13. C#操作WORD换行
  14. maven项目引入sqljdbc4 找不到包的完美 解决方案。
  15. Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方
  16. 【HDFS API编程】删除文件
  17. Python框架学习之用Flask创建一个简单项目
  18. Angular4学习笔记-目录汇总
  19. 《C#从现象到本质》读书笔记(三)第3章C#类型基础(下)
  20. npm run build 打包后,如何运行在本地查看效果(Apache服务)

热门文章

  1. cf#514B. Forgery(暴力)
  2. C++ 基础面试题-1
  3. 接口测试工具postman(八)上传文件接口
  4. Matlab R2016a 破解教程
  5. 初学Direct X(8) ——碰撞检测
  6. 游戏AI之群组行为
  7. DNA序列 (DNA Consensus String,ACM/ICPC Seoul 2006,UVa1368
  8. solidity 十六进制字符串转十六进制bytes
  9. Java经典问题
  10. 3.azkaban3.0测试