USACO section1.2 Transformation
/*
ID: vincent63
LANG: C
TASK: transform
*/
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
static char a[][];
static char b[][];
static char temp[][];
static char temp2[][];
static int n;
//return 1 if can be done;
//return 0,if cant be done;
//
int first_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp2[j][n--i]=temp[i][j];
if(a[i][j]!=b[j][n--i]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],j,n-1-i,b[j][n-i]);
}
}
}
return ret;
}
//
int second_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp2[n--i][n--j]=temp[i][j];
if(a[i][j]!=b[n--i][n--j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],n-1-i,n-1-j,b[n-1-i][n-1-j]);
}
}
}
return ret;
}
//
int third_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp2[n--j][i]=temp[i][j];
if(a[i][j]!=b[n--j][i]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],n-1-j,i,b[n-1-j][i]);
}
}
}
return ret;
} //mirror
int fouth_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
temp[i][n--j]=a[i][j];
if(a[i][j]!=b[i][n--j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],i,n-1-j,b[i][n-1-j]);
}
}
}
return ret;
}
int is_equal(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
if(temp2[i][j]!=b[i][j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],i,j,b[i][j]);
}
}
}
return ret;
}
//combine
int fifth_tran(){
int i,j;
fouth_tran();
first_tran();
if(is_equal()){
return ;
} printf("\n");
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",temp2[i][j]);
}
printf("\n");
} fouth_tran();
second_tran();
if(is_equal()){
return ;
}
printf("\n");
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",temp2[i][j]);
}
printf("\n");
} fouth_tran();
third_tran();
if(is_equal()){
return ;
}
printf("\n");
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",temp2[i][j]);
}
printf("\n");
} return ;
}
//no change
int sixth_tran(){
int ret=;
int i,j; for(i=;i<n;i++){
for(j=;j<n;j++){
if(a[i][j]!=b[i][j]){
ret=;
//printf("not match (%d,%d) %c (%d,%d) %c\n",i,j,a[i][j],i,j,b[i][j]);
}
}
}
return ret;
}
int test_tran(){
if(first_tran()){
return ;
}else if(second_tran()){
return ;
}else if(third_tran()){
return ;
}else if(fouth_tran()){
return ;
}else if(fifth_tran()){
return ;
}else if(sixth_tran()){
return ;
}
return ;
} int main () {
FILE *fin = fopen ("transform.in", "r");
FILE *fout = fopen ("transform.out", "w"); int i,j,ret;
char buf[];
char buf2[]; fgets(buf,,fin);
n=atoi(buf); for(i=;i<n;i++){
fgets(buf2,,fin);
strcpy(a[i],buf2);
}
for(i=;i<n;i++){
fgets(buf2,,fin);
strcpy(b[i],buf2);
} for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",a[i][j]);
}
printf("\n");
}
for(i=;i<n;i++){
for(j=;j<n;j++){
printf("%c",b[i][j]);
}
printf("\n");
} ret=test_tran(); char res[];
sprintf(res,"%d\n",ret);
fputs(res,fout);
printf("%d",ret);
return ;
}
USACO section1.2 Transformation的更多相关文章
- USACO Section1.2
section1.1主要包括四道题和两个编程知识介绍.下面将对这6个部分内容进行学习. Your Ride Is Here 这道题没什么难度,读懂题目意思就行:把两个字符串按照题目要求转换成数字,然后 ...
- USACO Section1.3
section1.2主要包括5道题和1个编程知识介绍.下面对这6部分内容进行学习. Complete Search 这个翻译成枚举搜索或者穷举搜索.主要用于当写代码时间不够用而且不用考虑程序的效率问题 ...
- USACO Section1.1
本系列博客主要学习和记录USACO的相关代码和总结,附上我的github地址. 什么是USACO USACO全称是The USA Computing Olympiad,主要目的是从美国高中生中选出代码 ...
- USACO Section1.5 Prime Palindromes 解题报告
pprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.4 Mother's Milk 解题报告
milk3解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section1.3 Wormholes 解题报告
wormhole解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------- ...
- USACO Section1.2 Name That Number 解题报告
namenum解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...
- USACO Section1.1 Friday the Thirteenth 解题报告
friday解题报告 —— icedream61 博客园(转载请注明出处) -------------------------------------------------------------- ...
- USACO section1.1 Broken Necklace
/* ID: vincent63 LANG: C TASK: beads */ #include <stdio.h> #include<stdlib.h> #include&l ...
随机推荐
- 重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数据转换
[源码下载] 重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数 ...
- treap树---营业额统计
台州学院 2924 描述 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况.Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额 ...
- http get post
使用java代码模拟http请求 package ftp; import java.io.BufferedReader; import java.io.IOException; import java ...
- ASP.NET WebAPI 10 Action的选择(二)
在本系列的第二篇简要的讲述了Action的选择条件本篇深入讲述一下Action选择的过程在上一篇中我们已经讲到了Controller的激活过程中已经说到了设置Controller的Controller ...
- Play Framework介绍:控制器层
业务逻辑代码通常位于模型(model)层.客户端(比如浏览器)无法直接调用其中的代码,所以模型对象提供的功能,必须作为资源以URI方式暴露给外部. 客户端使用HTTP协议来操作这些资源,从而调用了内部 ...
- JY游戏之毁经典《扫雷》
JY游戏之毁经典<扫雷> 这是一个经典的pc端游戏,一定的运气加一点数学常识,讲的是一个速度,这次,我利用js JY库重做了这款游戏,加了三次生命,过关难度,也兼容了移动端的触摸事件. 它 ...
- 在SqlServer中使用Try Catch(转)
今天在写sql中出现了!我想在sql使用trycatch吧! 哎..但是语法又记不住了! 那就清楚我们的google大师吧! 嘿,网上关于在sql中使用Try Catch的还有真不少的文章! 闲话就少 ...
- AngularJS 最常用的功能
第一 迭代输出之ng-repeat标签ng-repeat让table ul ol等标签和js里的数组完美结合 1 2 3 4 5 <ul> <li ng-repeat="p ...
- LinearLayout嵌套
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 我的GTD中收集的书单
在几年的GTD过程中,收集了一些想读的书目,没有系统地整理,每当读完一本之后,就翻翻书单,寻找下一本感兴趣的书,书是不可能读完的,只能找有兴趣的.符合自己目标方向的.有些书记录了豆瓣上的评分,虽然不是 ...