| I produced the logic but implementation seems tough |
| shrutichandel wrote: |
|---|
| I produced the logic |
| shrutichandel wrote: |
|---|
| I wrote code for rotation |
program main
implicit none
integer i, j, N
integer, allocatable :: rowsum(:), colsum(:)
character, allocatable :: ch(:)
read *, N
allocate( rowsum( N ), colsum( N ), ch(N) )
rowsum = 0; colsum = 0
do i = 1, N
read *, ch
rowsum(i) = count( ch == 'C' )
where ( ch == 'C' ) colsum = colsum + 1
end do
print *, max( bestSquare( rowsum ), bestSquare( colsum ) )
deallocate( rowsum, colsum, ch )
contains
integer function bestSquare( height )
integer, intent(in) :: height(:)
integer N, row, maxgap, gap, i
N = size( height )
bestSquare = N - maxval( height )
do row = N - bestSquare, 1, -1
maxGap = 0
gap = 0
do i = 1, N
if ( height(i) < row ) then
gap = gap + 1
else
gap = 0
end if
maxGap = max( gap, maxGap )
end do
if ( maxGap <= bestSquare ) exit
bestSquare = bestSquare + 1
end do
end function bestSquare
end program main |
CDCDCCCDDCDDCCDDCDCDCCCDCDDDCCCDDCCCDCDDDDCCDDCCCD DCCCCDDCDCCCDDDCDCCDCCDCCCCCDCCDDDCDDDDDCDCCCDDCDD DCDCCDCDCDDDDDCCCDDDDDDDCDCDDCDCDCDCCCDDCCDDDCDCCC DDCCDDDDCCDCCCDCDDCCDCCDDCDDCDCCDCDDDDDCCCCDDDDDCC DDCDDDCDDCDCDDCDDDCCDDDDDCDDDCDDDCDCDCDDCCCDDDDCDD CCDDCCCCCDDCDCDDCDCDCCDCDDDCCCDDDCCDCCDDDCCCCCDCCC CCCCCDCCDDDCDDCDDCCDDDDDCDCDCCDDDDCCDDDCCCDCDDCDCC DCCCDCCDDCDDCDDDCDCDCCCCCDDDDCDDCDDDDDCCCDDCCDCDDD CCDCDDDCCCDCCCDCCDDDCDDCCCCCDDCDDCDCCDCCDCCCDDCDCD DCCDCDCCCDCCDCDCCDDDCDDDDDCCDCDCCDDCCDCCDCDCDCDCDD DCDDCCDDDDDCDCCCDDDDDDCDDDDDDCDDDCCCDCCCDDDCDDDDCC DDDDCDDDDDDCDCDCDDDDCCCCDCDCDDCDDCCCCCDDCDCDCDDDCC DDCDCCCDDCDCDDDCCDCDCDDDCDDCCDCCCDDDCCDCDDDDCCCDCC DCDDCDCDCCCDDCCCCCCDDCDDCDCCCCDCDDDCDDCCCCCDCCDCCC DDDCCDCCCDCDCCCDDCDDCDDDCCDDCDCDCCDDCDDDCDDCDCDDCD DCDCDDDCDDCDDDDCDDCCDDCCCCDDDCDCDDDDDDDDCDCCCCCCCD DDDDCDDCDCCDDCCDCDDCDDDDCDCDCDDDDCDDDCDCDDDDDDDCCD CDDCCCDDDDDCDCCCCCDCCCDDDCDCCDDDCDCDDDCDCCCDDDCCDC CDCCDCCDDCCDCCDCDDDCCCDDDDDDCCCDDCCCCDDDDDCDDDDCDC CDDDDCCDDDCCDCDDDCCCDCCDDCCDDDCCDDDDDCDCDCCCDDCCCD DDDCDCDDDCDCDDCDCCCCCDDDCDCDCCCDCDDDDDDDCDCCDCCCDD DDCCDCDCDCCDDCDCCDCDDDCCCDDDCDCDCCCCCDCCCCDCCDCCDC CDCCCDDDCDCCDDDCCDDCCCCDCDDCDDCCCCCCCCDDDDDDCDDDDC DCCCCCDCDCDDCCCDCCCDCCCCDCDCDCCDCDDCDCDCDDCCCDDCCD CCCDCDDDDCDDDDDDCCCDDCCCCCDDDCCDDCCCCDDCCCDCDCCCDC CCCDCDDDCDCDDCCCDCCDDCCCDDCCCDDCCCDDCCDDDDCDCDCCDC DCDCCDCDCDDDDCDCCCDCDCDCCDCDCCCDCCCDCDDCDCDCCCCCCC DCDDDDCDDCCCDDCCDDDCCCCDDDCDCCCDCCCDDCDDCDCCCCDDCC CDCDDDDCDDCDDDDCCCCDDDDCCCDDDCDDDCDDDCDCCDDDCDCCDC DCCDDDCCDDCDCCCDDCDCCDDCDDDDDDDCDDDDCCCCCDCDCDCDDC DDCCCDDDDCDCDCDCCCDCDCDDCCCCDDDDDCCDCCDDDCDDCCCCCC DDCCCDDDDDCDDCDCDDCCDCCDCCCDCCDDDDCDDCDCDDCDDDDDDD CCCDCCDDCCDDCDDDDCCCDDDDDCDDCDCCCDDCCDCCCDCDDDDCCD CCCDDDDDDDDCCDDCCDCDDCCCCDDCCDDDCDDDCCCDCDCCCCCCCC DDDDDDDCCCDCDDDDCDCDDCDDDCDDCDCCDCDCDCCCCCDDDDDDDD DDCDDCDDDCCCDCDCDCDDDDCCDDDDDCDDDDDDDDCDDCDDDCDDDC CCCDCCDDDCDDDCDCDDCDDDDDCDDCCDCCDCCCDCDDDCCDCDCDDC DCCCCCDDDCDCCCCCDDDDDCCCDCDDDCDCDDDDDDCCCDDCCCDCCC DCCDCDDCCCCCDDDDCCCDCDCCDCDDCCCDDDDCDDDDCCCDDDCDCC CDCDCCCDDCCDCCCCDDCCDCDCCCCCCDDDCCDCCDCDCDDCDDCDCD CDCCCDCCCDDCCCDCCCCCDDDDDCCDCDDDDDDDDDCCDCCCDCDCDC DDCDCCDDDDDCDDDDDCDCDDDCCDCDCCDCDCDCDDCDDDDDDCDCCD CCCDDDCDDCCDDDCCCCDDCCDCDCDDCDCDDCCDCDDDDCCDCCCDDD DCDCCDCCCCDCCCCDDDCDCDCCCDCDDCCDDCDCCDDCDDCCCDCDDC CDCCDCDDCDDDCDCDDDCDCCCCDCDDCDCCDDCDDDDCCCCDCCDCDC CDCDCDCCCDDDCCCDDDDDDCDCDCDDDDCDDCDDCDCDCCCCCCDDCC DDDCDCDCCDCDDDCCCDDDDDDCDCCCDCCCDDCDDCDCCDDDCCCCCC CDCDDCCDCCCCCCCDDCDCCCCCCDDDDCCCDDCDCDCCCCDCDDCDDC DCDDCCCCDDDDCDCCCCCDDDDCDDDDDDDCDCDDCCDDCCCCCCDCDD DDDCDDDDDCCCCDDCDDDCDCCCCCCCDCCDDCCDDCDCDDDCCCCCCD Rotate LEFT: -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------C---------C--C--------------------C-- -----C-------C-------C-C--C------------C-------C-- -----C--C----C-------C-C--C------------C---C---C-- -----C--C----C-------C-CCCC------C-----C---C---C-- CC---C--C----C-------C-CCCCC--C--C---C-CC--C---C-C CC---C--CC---C---C---CCCCCCC--C--C---CCCC--CC-CC-C CC---CC-CC--CC---C---CCCCCCC--C-CC---CCCC-CCCCCC-C CC-C-CC-CC--CC---CCC-CCCCCCC--C-CC--CCCCC-CCCCCCCC CCCC-CCCCC--CCC--CCCCCCCCCCC-CC-CC--CCCCC-CCCCCCCC CCCC-CCCCC-CCCCC-CCCCCCCCCCC-CC-CC--CCCCC-CCCCCCCC CCCC-CCCCC-CCCCC-CCCCCCCCCCCCCC-CC--CCCCC-CCCCCCCC CCCC-CCCCC-CCCCC-CCCCCCCCCCCCCCCCC--CCCCC-CCCCCCCC CCCC-CCCCCCCCCCC-CCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCC CCCC-CCCCCCCCCCC-CCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC Max: 20 Rotate RIGHT: CCCCCCCCCCCCCCC----------------------------------- CCCCCCCCCCCCCCCC---------------------------------- CCCCCCCCCCCCCCCC---------------------------------- CCCCCCCCCCCCCCCCCC-------------------------------- CCCCCCCCCCCCCCCCCC-------------------------------- CCCCCCCCCCCCCCCCCC-------------------------------- CCCCCCCCCCCCCCCCCCC------------------------------- CCCCCCCCCCCCCCCCCCCC------------------------------ CCCCCCCCCCCCCCCCCCCCC----------------------------- CCCCCCCCCCCCCCCCCCCCC----------------------------- CCCCCCCCCCCCCCCCCCCCCC---------------------------- CCCCCCCCCCCCCCCCCCCCCC---------------------------- CCCCCCCCCCCCCCCCCCCCCC---------------------------- CCCCCCCCCCCCCCCCCCCCCC---------------------------- CCCCCCCCCCCCCCCCCCCCCC---------------------------- CCCCCCCCCCCCCCCCCCCCCCC--------------------------- CCCCCCCCCCCCCCCCCCCCCCC--------------------------- CCCCCCCCCCCCCCCCCCCCCCC--------------------------- CCCCCCCCCCCCCCCCCCCCCCC--------------------------- CCCCCCCCCCCCCCCCCCCCCCC--------------------------- CCCCCCCCCCCCCCCCCCCCCCCC-------------------------- CCCCCCCCCCCCCCCCCCCCCCCC-------------------------- CCCCCCCCCCCCCCCCCCCCCCCC-------------------------- CCCCCCCCCCCCCCCCCCCCCCCC-------------------------- CCCCCCCCCCCCCCCCCCCCCCCC-------------------------- CCCCCCCCCCCCCCCCCCCCCCCCC------------------------- CCCCCCCCCCCCCCCCCCCCCCCCC------------------------- CCCCCCCCCCCCCCCCCCCCCCCCC------------------------- CCCCCCCCCCCCCCCCCCCCCCCCC------------------------- CCCCCCCCCCCCCCCCCCCCCCCCC------------------------- CCCCCCCCCCCCCCCCCCCCCCCCC------------------------- CCCCCCCCCCCCCCCCCCCCCCCCCC------------------------ CCCCCCCCCCCCCCCCCCCCCCCCCC------------------------ CCCCCCCCCCCCCCCCCCCCCCCCCC------------------------ CCCCCCCCCCCCCCCCCCCCCCCCCC------------------------ CCCCCCCCCCCCCCCCCCCCCCCCCC------------------------ CCCCCCCCCCCCCCCCCCCCCCCCCC------------------------ CCCCCCCCCCCCCCCCCCCCCCCCCC------------------------ CCCCCCCCCCCCCCCCCCCCCCCCCCC----------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCC----------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCC----------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCC---------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCC---------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCCC--------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCCC--------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCCC--------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-------------------- CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-------------------- Max: 25 |
| I think you can only do one "melt" |
| No rotations are possible when the furnace starts heating. |
|
|
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------C---------C--C--------------------C-- -----C-------C-------C-C--C------------C-------C-- -----C--C----C-------C-C--C------------C---C---C-- -----C--C----C-------C-CCCC------C-----C---C---C-- CC---C--C----C-------C-CCCCC--C--C---C-CC--C---C-C CC---C--CC---C---C---CCCCCCC--C--C---CCCC--CC-CC-C CC---CC-CC--CC---C---CCCCCCC--C-CC---CCCC-CCCCCC-C CC-C-CC-CC--CC---CCC-CCCCCCC--C-CC--CCCCC-CCCCCCCC CCCC-CCCCC--CCC--CCCCCCCCCCC-CC-CC--CCCCC-CCCCCCCC CCCC-CCCCC-CCCCC-CCCCCCCCCCC-CC-CC--CCCCC-CCCCCCCC CCCC-CCCCC-CCCCC-CCCCCCCCCCCCCC-CC--CCCCC-CCCCCCCC CCCC-CCCCC-CCCCC-CCCCCCCCCCCCCCCCC--CCCCC-CCCCCCCC CCCC-CCCCCCCCCCC-CCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCC CCCC-CCCCCCCCCCC-CCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC Max: 20 -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --C----------------------------------------------- --C-C----------C---------------------------------C --C-C----------C-------------------------------C-C --C-C--------C-C--C--------------C------C-C----C-C --C-C----C---C-C--C--C-C-----CC--C------C-C----CCC --C-C----C-C-C-C--C--C-CC---CCC--C-----CC-CCC--CCC --C-C----C-C-C-CC-C--C-CCC--CCC--C-----CC-CCC-CCCC -CC-C----C-C-C-CC-C--C-CCC--CCC--C-----CCCCCC-CCCC -CCCC----C-C-C-CC-C--C-CCC--CCC--C--CC-CCCCCCCCCCC -CCCC-C--CCC-CCCCCC--CCCCC--CCC--C--CC-CCCCCCCCCCC -CCCCCC--CCC-CCCCCC-CCCCCC--CCC--CCCCC-CCCCCCCCCCC CCCCCCC--CCC-CCCCCCCCCCCCCC-CCC--CCCCC-CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC-CCCC-CCCCC-CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC-CCCC-CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC-CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC Max: 22 |