hdu2074
我先求出交叉的gird,然后再一行一行求得。感觉还可以吧。思路比较清晰,开始想的是数是第几行然后从每一行的前后开始控制,好麻烦的感觉,我就先求出来了框架再做就好做多啦!后来PE,突然发现我特殊处理n=1的时候一下子输出了2个\n,改掉以后就好了。
#include <stdio.h>
#include <math.h>
#include <string.h>
#define bug puts("bug!bug!bug!!!!!");
char gird[][];
int main(){
int n,i,j,cnt,g;
int isfirst=;
char gird[][],in,out,oout;
while(~scanf("%d %c %c",&n,&in,&out)){
if(isfirst==) printf("\n");
if(n==){
printf("%c\n",in);
continue;
}
for(i=;i<n;++i)
for(j=;j<n;++j)
gird[i][j]=' ';
if( (n+)/%== ) oout=out;
else oout=in;
for(i=;i<n;++i) gird[i][]=oout;
for(i=,j=;i<n;++i,++j){
if(gird[i-][j-]==out) gird[i][j]=in;
else gird[i][j]=out;
}
//bug;
for(i=n-,j=;i>=;--i,++j){
if(gird[i+][j-]==out) gird[i][j]=in;
else gird[i][j]=out; }/*
for(i=0;i<n;++i){
for(j=0;j<n;++j){
printf("%c",gird[i][j]);
}
printf("\n");
}*/
for(i=;i<n;++i) gird[n-][i]=gird[][i]=oout;
for(i=;i<n-;++i){
cnt=;g=;
for(j=;j<n;++j){
if(gird[i][j]==out||gird[i][j]==in) g++;
if(i==j&&i==(n-)/ ) g++;
if(cnt==){
gird[i][j]=gird[i][j-];
}else if(cnt==||cnt==){
if(gird[i][j-]==out) gird[i][j]=in;
else gird[i][j]=out;
}
cnt=g;
}
}
gird[][]=gird[n-][n-]=gird[][n-]=gird[n-][]=' ';
for(i=;i<n;++i){
for(j=;j<n;++j){
printf("%c",gird[i][j]);
}
printf("\n");
}
isfirst=;
}
return ;
}
hdu2074的更多相关文章
- hdu2074 叠筐
叠筐 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- OJ题目分类
POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...
- hdu2073-2078
hdu2073 数学 #include<stdio.h> #include<math.h> double len(double x){ )*(x+)); } int main( ...
- ACM程序设计选修课——1030: Hungar的时尚球场(水题+耐心)
1030: Hungar的时尚球场 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 14 Solved: 8 [Submit][Status][Web ...
- HDU100题简要题解(2070~2079)
HDU2070 Fibbonacci Number 题目链接 Problem Description Your objective for this question is to develop a ...
随机推荐
- mirror.js 整合redux的好工具
mirror.js 很简单,让state管理更方便了,没有新增api,值 得使用 https://github.com/yurizhang/mirror package.json { "na ...
- substring和substr,slice和splice
substring 和 substr 这二货都是针对字符串而言的,且都是返回一个副本,而不是在原字符串上直接操作. 上代码: var str = '0123456789'; console.log( ...
- CF1081E Missing Numbers
思路: 贪心乱搞. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll m = ...
- CString的GetBuffer和ReleaseBuffer
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能. CString ::GetBu ...
- java 删除字符串最后一个字符的几种方法
偶然看到的,记录一下,以免忘记 字符串:string s = "1,2,3,4,5," 目标:删除最后一个 "," 方法: 1.用的最多的是Substri ...
- dialog样式的activity设置activity的title为隐藏属性
View view= this.findViewById(android.R.id.title);view.setVisibility(View.GONE);
- 覆盖alert对话框-自制Jquery.alert插件
Javascript 代码: (function ($) { 'use strict'; window.alert = $.alert = function (msg) { var defaultOp ...
- 在ABAP里模拟实现Java Spring的依赖注入
Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...
- Asp.Net Core 入门(六)—— 路由
Asp.Net Core MVC的路由在Startup.cs文件中的Configure方法中进行配置,使其加入到Http请求管道中,如果不配置,那么我们所发送的请求无法得到象应. 那么该怎么配置Asp ...
- WINDOWS-API:API函数大全
操作系统除了协调应用程序的执行.内存分配.系统资源管理外,同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务是一个函数),可以帮肋应用程序达到开启视窗.描绘图形.使用周边设备的目的,由 ...