刻苦练习CCF

刻苦练习CCF

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 242  Solved: 143

[Submit][Status][Web
Board
]

Description

star参加了今年三月的CCF认证测试,他很郁闷,因为他连第一题都没有得满分,这对一个自我要求严格的ACMer来说是不能容忍的。这是一道矩阵转换的题目,于是他决定好好学习线性代数(可见数学是多么有用的)。他想请你帮忙做几道矩阵转换的题目。对于一个n*m的矩阵(1<n<=100,1<m<=100),指令1代表将这个矩阵顺时针旋转环90度,指令2代表将这个矩阵逆时针旋转90度。

Input

第一行输入一个T(T<=20),代表共有T组数据测试。

对于每一组测试,第一行输入两个正整数n,m,代表矩阵的维度。第二行输入一个整数q(q=1或2),代表对这个矩阵的指令。接下来的n行,每一行有m个正整数(且小于1000)。

Output

输出要求的矩阵,同一行的相邻两个元素用一个空格隔开。

Sample Input

2
2 2
1
1 2
3 4
3 2
2
1 2
3 4
5 6

Sample Output

3 1
4 2
2 4 6
1 3 5


代码:
#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
using namespace std; 

int map[1111][1111];
int n,m,q; 

int main ()
{
    int i,j;
    int T;
    scanf ("%d",&T);
    while (T--)
    {
        scanf ("%d%d",&n,&m);
        scanf ("%d",&q);
        for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        scanf ("%d",&map[i][j]);
        if (q == 1)
        {
            for (j=1; j<=m; j++)
            {
                printf ("%d",map[n][j]);
                for (i=n-1; i>0; i--)
                {
                    printf (" %d",map[i][j]);
                }
                printf ("\n");
            }
        }
        if (q == 2)
        {
            for (j=m; j>0; j--)
            {
                printf ("%d",map[1][j]);
                for (i=2; i<=n; i++)
                {
                    printf (" %d",map[i][j]);
                }
                printf ("\n");
            }
        }
    }
    return 0;
}

时间: 2024-10-13 05:27:10

刻苦练习CCF的相关文章

水题集

刻苦练习CCF http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1585 就是旋转一下,找对应关系,注意这里枚举的顺序按原来顺序来,然后输出的时候把n和m的内外顺序换一下 #include<stdio.h> int a[105][105],b[105][105]; int main(){ #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif in

CCF 201503-4 网络延时

题目来自2015年03月CCF计算机职业资格认证考试 问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机.交换机与电脑之间使用网络连接.交换机按层级设置,编号为1的交换机为根交换机,层级为1.其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1.所有的终端电脑都直接连接到交换机上. 当信息在电脑.交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机.请问,电脑与电脑之间传递消息.或者电脑与交换机之间传递消息.或者交换机与交换机

CCF试题:高速公路(Targin)

问题描述 某国有n个城市,为了使得城市间的交通更便利,该国国王打算在城市之间修一些高速公路,由于经费限制,国王打算第一阶段先在部分城市之间修一些单向的高速公路. 现在,大臣们帮国王拟了一个修高速公路的计划.看了计划后,国王发现,有些城市之间可以通过高速公路直接(不经过其他城市)或间接(经过一个或多个其他城市)到达,而有的却不能.如果城市A可以通过高速公路到达城市B,而且城市B也可以通过高速公路到达城市A,则这两个城市被称为便利城市对. 国王想知道,在大臣们给他的计划中,有多少个便利城市对. 输入

给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1(ccf真题)

ccf认证考试2014年9月第一题 问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示给定整数的个数. 第二行包含所给定的n个整数. 输出格式 输出一个整数,表示值正好相差1的数对的个数. 样例输入 6 10 2 6 3 7 8 样例输出 3 样例说明 值正好相差1的数对包括(2, 3), (6, 7), (7, 8). 评测用例规模与约定 1<=n<=1000,给定的整数为不超过10000的非负整数. #include<

图像旋转(ccf真题)

ccf认证2015年3月第一题 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度. 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可. 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数. 接下来n行每行包含m个整数,表示输入的图像. 输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵. 样例输入 2 3 1 5 3 3 2 4 样例输出 3 4 5 2 1 3 评测用例规模与约定

CCF考试真题题解

CCF考试认证:题解参考博客http://blog.csdn.net/u014578266/article/details/45221841 问题描述 试题编号: 201503-1 试题名称: 图像旋转 时间限制: 5.0s 内存限制: 256.0MB 问题描述: 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度. 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可. 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵

2016年9月ccf

去长沙理工考ccf.恰好又可以见闺蜜. 前2道题很简单,第三题题目太长就跳过了[绕来绕去就像“你儿子是我儿子的爸爸一样头疼”],就做第四题.但是还有最后一个部分没写写好就到点了. 现在把它补充完整. 我忘记怎么在函数参数中使用二维数组,所以直接把函数写在main里. 分为2个部分,一个是求最短路径,一个是找出要改建的路. 最短路径采用的是dijkstra算法. 寻找要改建的路的部分.我一开始一直想要使用最小支撑树实现[即贪心算法].但是我后来恍然发现,最后一个状态一定是每个城市都能以最短路径达到

CCF 201409-4 最优配餐

题目来自2014年9月CCF计算机职业资格认证考试 问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务.随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题. 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注). 方格图中的线表示可以行走的道路,相邻两个格点的距离为1.栋栋要送餐必须走可以行走的道路,而且不能经过红色标注的点. 送餐的主要成本体现在路上所花的时间,

CCF系列之最优灌溉(201412-4)

试题编号:201412-4试题名称:最优灌溉时间限制: 1.0s内存限制: 256.0MB 问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉. 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉. 现在雷雷知道哪些麦田之间可以建设水渠和建设每个水渠所需要的费用(注意不是所有麦田之间都可以建立水渠).请问灌溉所有麦田最