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 ...
随机推荐
- 自定义tab在地图进行分页显示
@{ ViewBag.Title = "GIS地图"; Layout = null; } @model HFSoft.Plat.UIWeb.Models.MapShowDataVO ...
- 【jQuery基础学习】07 jQuery表单插件-Form
作用:jQuery Form插件的作用是为了让我们可以很方便地用ajax的方式提交表单,从而使我们提交表单的时候页面不用进行刷新. 它的核心方法是ajaxForm()和ajaxSubmit() 升级表 ...
- AC自动机(1)
Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). ...
- [javaSE] java获取文件列表
递归测试 import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Lis ...
- 由简入繁实现Jquery树状结构
在项目中,我们经常会需要一些树状结构的样式来显示层级结构等,比如下图的样式,之前在学.net的时候可以直接拖个服务端控件过来直接使用非常方便.但是利用Jquery的一些插件,也是可以实现这些效果的,比 ...
- Jquery学习笔记:利用jquery获取select下拉框的值
jquery不是特别熟练,每次使用不常用的就要百度,特地记录下来. 我的下拉框是: <div class="form-group"> <select class= ...
- Android SDK Tools和Android SDK Platform-tools
SDK Platform 可以理解为版本,因此有 SDK Platform 7,SDK Platform 8等等Android SDK Tools 是各个版本都可通用的工具文件夹,里面有draw9pa ...
- 一句命令快速合并 JS、CSS
在项目开发环境下,我们会把 JS 代码尽可能模块化,方便管理和修改,这就避免不了会出现一个项目自身 JS 文件数量达到 10 个或者更多. 而项目上线后,会要求将所有 JS 文件合并为 1 个或者几个 ...
- sass开发过程中遇到的几个坑
1.安装sass被墙的问题 安装完`ruby`后,打开`ruby cmd` 输入`gem install sass`,安装失败,有可能是镜像源的问题,也有可能是墙的问题. 因为公司内网的奇葩限制,各种 ...
- SHAREPOINT 工作流审批权限问题
继续我们上次的工作流,我们发现所有人都有审批权限,这和我们正常的逻辑相反,正常应该是只有审批人才有权限,其它人只能查看,如下 这样解决,同样为SpecialPermissions 绑定到新成员 > ...