简单的模拟题。
枚举中间可能出现的天气。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int maxn = 1005;
double mat[ 5 ][ 5 ];
void solve( int L,int R,int n ){
double ans[ 5 ],tp[ 5 ];
double res = 0;
for( int i=1;i<=n;i++ ){
if( i==1 ){
ans[ 1 ] = mat[ L ][ 1 ];
ans[ 2 ] = mat[ L ][ 2 ];
ans[ 3 ] = mat[ L ][ 3 ];
//printf("i = 1: %lf %lf %lf\n",ans[1],ans[2],ans[3]);
continue;
}
else if( i==n ){
res = ans[ 1 ]*mat[ 1 ][ R ];
res += ans[ 2 ]*mat[ 2 ][ R ];
res += ans[ 3 ]*mat[ 3 ][ R ];
continue;
}
else {
tp[1] = ans[1],tp[2] = ans[2],tp[3] = ans[3];
ans[ 1 ] = tp[ 1 ]*mat[ 1 ][ 1 ]+tp[ 2 ]*mat[ 2 ][ 1 ]+tp[ 3 ]*mat[ 3 ][ 1 ];
ans[ 2 ] = tp[ 1 ]*mat[ 1 ][ 2 ]+tp[ 2 ]*mat[ 2 ][ 2 ]+tp[ 3 ]*mat[ 3 ][ 2 ];
ans[ 3 ] = tp[ 1 ]*mat[ 1 ][ 3 ]+tp[ 2 ]*mat[ 2 ][ 3 ]+tp[ 3 ]*mat[ 3 ][ 3 ];
// ans[1] = tp[1],ans[2] = tp[2],ans[3] = tp[3];
//printf("i = %d: %lf %lf %lf\n",i,ans[1],ans[2],ans[3]);
continue;
}
}
printf("%.3lf\n",res);
}
int main(){
//freopen("in.txt","r",stdin);
int T;
scanf("%d",&T);
while( T-- ){
for( int i=1;i<=3;i++ ){
for( int j=1;j<=3;j++ ){
scanf("%lf",&mat[ i ][ j ]);
}
}
int K;
scanf("%d",&K);
while( K-- ){
int L,R,N;
scanf("%d%d%d",&L,&R,&N);
if( N==1 ){
printf("%.3lf\n",mat[ L ][ R ]);
continue;
}
solve( L,R,N );
}
}
return 0;
}
分享到:
相关推荐
ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中...1030 简单题,可用模拟过 等等。 ACM HDU 题目分类是一个非常重要的参考资源,对于编程选手来说,掌握这些分类可以帮助他们更好地理解和解决问题。
7. **模拟法**:直接按照题目描述进行程序模拟,解决一些逻辑性较强的问题。 学习和理解ACM HDU的题解,不仅可以提升编程能力,还能帮助我们理解和运用计算机科学的核心原理,为日常开发工作提供有力的支持。同时,...
模拟竞赛是提高实战能力的有效方式,通过参与在线判题平台(如HDU OJ)的练习,可以锻炼快速阅读题目、理解和解决问题的能力。同时,ACM竞赛强调团队协作,学习如何与队友有效沟通,分工合作,共同解决问题,也是...
- 模拟竞赛:通过模拟真实的ACM比赛环境,提升解决实际问题的速度和准确率。 总之,"ACM HDU代码大全3000例"是一个宝贵的编程学习资源,无论你是初学者还是经验丰富的程序员,都能从中受益匪浅。通过学习和实践...
大数计算的应用包括加密算法、金融计算和数学模拟等。在编程竞赛中,大数问题可能涉及到加减乘除、模运算以及大数比较等操作。 2. **线段树**:线段树是一种数据结构,用于高效地处理区间查询和更新操作。它可以...
7. **模拟法**:对于一些规则明确的问题,可以通过编写程序模拟其过程来求解。 8. **编码技巧**:如何有效地输出答案,处理输入数据,避免溢出等。 这个压缩包里的代码可能是对上述知识点的具体实现,通过阅读和...
8. **学习方法**:解题报告也可能提供学习和训练的建议,如如何选择练习题目,如何分析和总结解题经验,以及如何通过模拟赛提升实战能力。 9. **案例分析**:通过对典型题目的深度剖析,报告可以帮助读者理解复杂...
HDU ACM(全称:Hangzhou Dianzi University Algorithm Competition)是杭州电子科技大学举办的一项在线算法竞赛,旨在提升参赛者的问题解决能力和编程技巧,特别是使用JAVA等编程语言解决算法问题的能力。...
【标题】"HDU_软工_计组实验1~8"所涵盖的知识点主要集中在计算机组织(简称计组)的实践操作层面,这通常包括对计算机硬件结构、指令系统、存储器体系、数据表示以及处理器工作原理等基础知识的深入理解和应用。...
包含实验内容:对应实验要求上的1/2/3/5实验,分别为setName/setNice,petree输出进程,模拟shell,进程通信,文件系统。包含全部实验源代码和详尽的word实验报告。同时包含在线PTA编程题目:进程模拟,模拟进程调度...
这个题目要求参赛者编写一个程序,模拟一个猜数字的游戏过程,其中游戏规则相当简单:计算机随机选择一个介于1到N之间的整数,玩家有若干次机会猜测这个数字,每次猜测后,计算机会给出提示,告诉玩家猜的数字是偏大...
这个资源对于学习者来说,是一个绝佳的实践平台,可以模拟真实的竞赛环境,通过解题来提升编程思维、算法设计和调试技巧。不仅如此,研究标程也能帮助学习者了解更高效或者更优雅的编程方式,提升代码质量。对于准备...
题目“bfs.rar_hdu”暗示了这是一个关于广度优先搜索(Breadth-First Search, BFS)的问题,源自HDU(杭州电子科技大学)的在线编程竞赛平台。通常,这类题目会涉及图论或者树的遍历,考察算法实现和逻辑思维能力。 ...
9. **模拟与建模**:2351-2400号题目可能需要对实际问题进行抽象,通过编写程序模拟现实世界中的过程。 10. **位运算**:位运算在某些情况下可以提高代码的运行效率,2401-2450号题目可能会用到位运算技巧来解决...
标题中的"hdu5102.zip_K."暗示这是一个与编程竞赛相关的题目,通常在HDU(杭州电子科技大学)在线判题系统中出现。这个题目可能是一个编程挑战,要求参赛者解决一个特定的问题,并提交源代码以供自动评判。"K."可能...
HDU公选课抢课插件是一款专为杭州电子科技大学(HDU)方正教学平台设计的自动化脚本工具,其主要目标是帮助用户在公选课报名时提高成功率,解决由于课程名额有限、手动操作速度慢而导致的抢课难题。这款插件的设计...
5. **模拟**:针对一些实际问题进行精确的计算机模拟,如计数、概率计算等。 6. **贪心策略**:对于一些局部最优能保证全局最优的问题,贪心算法是有效的解决手段。 7. **复杂度分析**:理解时间复杂度和空间...
然后,可以使用模拟输入的方式测试代码,或者直接在HDU Online Judge上提交编译后的程序进行在线验证。 7. **调试技巧**:在遇到问题时,利用Visual C++的调试器可以帮助找出代码中的错误,通过设置断点、查看变量...