Cody

# Problem 1457. USC Spring 2013 ACM: Walking on Thin Ice

Solution 370165

Submitted on 14 Dec 2013 by Muhammad Sarwar
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
tic w=50+randi(100,1) % case random 1 15 pymax=randi(50,1) polycell={[0 0 10 pymax 20 0]}; % case 1 15 d=Thin_Ice(w,polycell) assert(abs(d-(w-pymax))<.01) toc

You just got a free pass. Congrats!

2   Pass
%% tic w=110+randi(100,1); % case random 2 w pymax1=randi(30,1) pymax2=randi(10,1) pymax3=randi(10,1) polycell={[0 0 10 pymax1 pymax3 0] [-pymax2 30+pymax2 20+pymax1 30+pymax2 pymax1 40+pymax3]}; % case random d=Thin_Ice(w,polycell) assert(abs(d-(w-pymax1-(40+pymax3-(30+pymax2))))<.01) toc

You just got a free pass. Congrats!

3   Pass
%% tic w=100; % case 1 15 polycell={[0 0 10 85 20 0]}; % case 1 15 d=Thin_Ice(w,polycell); assert(abs(d-15)<.01) toc

You just got a free pass. Congrats!

4   Pass
%% tic w=10; %case 2 5 polycell={[-2 0 -2 2 2 2 2 0] [-2 5 -2 8 2 8 2 5]}; d=Thin_Ice(w,polycell); assert(abs(d-5)<.01) toc

You just got a free pass. Congrats!

5   Pass
%% tic w=3618;% case 3 3598 polycell={[550 201 546 211 555 221 564 211 560 201]}; d=Thin_Ice(w,polycell); assert(abs(d-3598)<.01) toc

You just got a free pass. Congrats!

6   Pass
%% tic w=3618;% case 4 3593.57 polycell={[550 201 546 211 555 221 564 211 560 201]... [570 211 566 221 575 231 584 221 580 211]}; d=Thin_Ice(w,polycell); assert(abs(d-3593.57)<.01) toc

You just got a free pass. Congrats!

7   Pass
%% tic w=3618; % case 5 3598 polycell={[550 201 546 211 555 221 564 211 560 201]... [1570 211 1566 221 1575 231 1584 221 1580 211]}; d=Thin_Ice(w,polycell); assert(abs(d-3598)<.01) toc

You just got a free pass. Congrats!

8   Pass
%% tic w=10; %case 6 5 polycell={[-2 0 -2 2 2 2 2 0]... [-10 5 -10 8 10 8 10 5]}; d=Thin_Ice(w,polycell); assert(abs(d-5)<.01) toc

You just got a free pass. Congrats!

9   Pass
%% tic w=10000; %case 7 1615.15 polycell={[-912000 8801 -912000 8881 -911001 8881 -911001 8801]... [-910000 9001 -910000 9087 -909001 9087 -909001 9001]... [ -993000 701 -993000 789 -992001 789 -992001 701]... [ -960000 4001 -960000 4082 -959001 4082 -959001 4001]... [ -984000 1601 -984000 1687 -983001 1687 -983001 1601]... [ -980000 2001 -980000 2089 -979001 2089 -979001 2001]... [ -942000 5801 -942000 5883 -941001 5883 -941001 5801]... [ -909000 9101 -909000 9185 -908001 9185 -908001 9101]... [ -967000 3301 -967000 3387 -966001 3387 -966001 3301]... [ -947000 5301 -947000 5382 -946001 5382 -946001 5301]... [ -908000 9201 -908000 9282 -907001 9282 -907001 9201]... [ -903000 9701 -903000 9781 -902001 9781 -902001 9701]... [ -951000 4901 -951000 4986 -950001 4986 -950001 4901]... [ -963000 3701 -963000 3788 -962001 3788 -962001 3701]... [ -973000 2701 -973000 2783 -972001 2783 -972001 2701]... [ -975000 2501 -975000 2584 -974001 2584 -974001 2501]... [ -994000 601 -994000 680 -993001 680 -993001 601]... [ -1000000 1 -1000000 86 -999001 86 -999001 1]... [ -999000 101 -999000 187 -998001 187 -998001 101]... [ -954000 4601 -954000 4686 -953001 4686 -953001 4601]... [ -930000 7001 -930000 7082 -929001 7082 -929001 7001]... [ -974000 2601 -974000 2680 -973001 2680 -973001 2601]... [ -926000 7401 -926000 7488 -925001 7488 -925001 7401]... [ -945000 5501 -945000 5583 -944001 5583 -944001 5501]... [ -956000 4401 -956000 4480 -955001 4480 -955001 4401]... [ -971000 2901 -971000 2987 -970001 2987 -970001 2901]... [ -933000 6701 -933000 6789 -932001 6789 -932001 6701]... [ -976000 2401 -976000 2482 -975001 2482 -975001 2401]... [ -970000 3001 -970000 3086 -969001 3086 -969001 3001]... [ -981000 1901 -981000 1989 -980001 1989 -980001 1901]... [ -955000 4501 -955000 4580 -954001 4580 -954001 4501]... [ -950000 5001 -950000 5088 -949001 5088 -949001 5001]... [ -906000 9401 -906000 9481 -905001 9481 -905001 9401]... [ -927000 7301 -927000 7386 -926001 7386 -926001 7301]... [ -911000 8901 -911000 8987 -910001 8987 -910001 8901]... [ -928000 7201 -928000 7282 -927001 7282 -927001 7201]... [ -996000 401 -996000 480 -995001 480 -995001 401]... [ -966000 3401 -966000 3483 -965001 3483 -965001 3401]... [ -925000 7501 -925000 7588 -924001 7588 -924001 7501]... [ -905000 9501 -905000 9587 -904001 9587 -904001 9501]... [ -943000 5701 -943000 5785 -942001 5785 -942001 5701]... [ -990000 1001 -990000 1087 -989001 1087 -989001 1001]... [ -948000 5201 -948000 5288 -947001 5288 -947001 5201]... [ -968000 3201 -968000 3281 -967001 3281 -967001 3201]... [ -989000 1101 -989000 1180 -988001 1180 -988001 1101]... [ -935000 6501 -935000 6587 -934001 6587 -934001 6501]... [ -936000 6401 -936000 6484 -935001 6484 -935001 6401]... [ -998000 201 -998000 283 -997001 283 -997001 201]... [ -932000 6801 -932000 6886 -931001 6886 -931001 6801]... [ -918000 8201 -918000 8282 -917001 8282 -917001 8201]... [ -916000 8401 -916000 8486 -915001 8486 -915001 8401]... [ -952000 4801 -952000 4880 -951001 4880 -951001 4801]... [ -992000 801 -992000 886 -991001 886 -991001 801]... [ -913000 8701 -913000 8786 -912001 8786 -912001 8701]... [ -901000 9901 -901000 9989 -900001 9989 -900001 9901]... [ -962000 3801 -962000 3887 -961001 3887 -961001 3801]... [ -902000 9801 -902000 9884 -901001 9884 -901001 9801]... [ -917000 8301 -917000 8384 -916001 8384 -916001 8301]... [ -985000 1501 -985000 1583 -984001 1583 -984001 1501]... [ -979000 2101 -979000 2188 -978001 2188 -978001 2101]... [ -940000 6001 -940000 6088 -939001 6088 -939001 6001]... [ -988000 1201 -988000 1282 -987001 1282 -987001 1201]... [ -904000 9601 -904000 9687 -903001 9687 -903001 9601]... [ -922000 7801 -922000 7885 -921001 7885 -921001 7801]... [ -929000 7101 -929000 7188 -928001 7188 -928001 7101]... [ -907000 9301 -907000 9389 -906001 9389 -906001 9301]... [ -997000 301 -997000 381 -996001 381 -996001 301]... [ -939000 6101 -939000 6181 -938001 6181 -938001 6101]... [ -983000 1701 -983000 1787 -982001 1787 -982001 1701]... [ -978000 2201 -978000 2285 -977001 2285 -977001 2201]... [ -944000 5601 -944000 5686 -943001 5686 -943001 5601]... [ -987000 1301 -987000 1382 -986001 1382 -986001 1301]... [ -986000 1401 -986000 1484 -985001 1484 -985001 1401]... [ -982000 1801 -982000 1887 -981001 1887 -981001 1801]... [ -934000 6601 -934000 6687 -933001 6687 -933001 6601]... [ -972000 2801 -972000 2884 -971001 2884 -971001 2801]... [ -938000 6201 -938000 6282 -937001 6282 -937001 6201]... [ -964000 3601 -964000 3685 -963001 3685 -963001 3601]... [ -915000 8501 -915000 8586 -914001 8586 -914001 8501]... [ -937000 6301 -937000 6383 -936001 6383 -936001 6301]... [ -919000 8101 -919000 8187 -918001 8187 -918001 8101]... [ -949000 5101 -949000 5186 -948001 5186 -948001 5101]... [ -953000 4701 -953000 4782 -952001 4782 -952001 4701]... [ -959000 4101 -959000 4188 -958001 4188 -958001 4101]... [ -961000 3901 -961000 3988 -960001 3988 -960001 3901]... [ -920000 8001 -920000 8088 -919001 8088 -919001 8001]... [ -931000 6901 -931000 6981 -930001 6981 -930001 6901]... [ -914000 8601 -914000 8686 -913001 8686 -913001 8601]... [ -924000 7601 -924000 7687 -923001 7687 -923001 7601]... [ -923000 7701 -923000 7789 -922001 7789 -922001 7701]... [ -965000 3501 -965000 3584 -964001 3584 -964001 3501]... [ -958000 4201 -958000 4280 -957001 4280 -957001 4201]... [ -991000 901 -991000 989 -990001 989 -990001 901]... [ -957000 4301 -957000 4383 -956001 4383 -956001 4301]... [ -969000 3101 -969000 3187 -968001 3187 -968001 3101]... [ -977000 2301 -977000 2388 -976001 2388 -976001 2301]... [ -946000 5401 -946000 5484 -945001 5484 -945001 5401]... [ -995000 501 -995000 589 -994001 589 -994001 501]... [ -921000 7901 -921000 7983 -920001 7983 -920001 7901]... [ -941000 5901 -941000 5981 -940001 5981 -940001 5901]}; d=Thin_Ice(w,polycell); assert(abs(d-1615.15)<.01) toc

You just got a free pass. Congrats!

10   Pass
%% tic w=11000; % case 8 1536.76 polycell={[-918919 8101 -918919 8197 -917920 8197 -917920 8101]... [ -965966 3401 -965966 3502 -964967 3502 -964967 3401]... [ -989990 1001 -989990 1126 -988991 1126 -988991 1001]... [ -940941 5901 -940941 5984 -939942 5984 -939942 5901]... [ -975976 2401 -975976 2489 -974977 2489 -974977 2401]... [ -968969 3101 -968969 3207 -967970 3207 -967970 3101]... [ -957958 4201 -957958 4296 -956959 4296 -956959 4201]... [ -970971 2901 -970971 3021 -969972 3021 -969972 2901]... [ -927928 7201 -927928 7325 -926929 7325 -926929 7201]... [ -956957 4301 -956957 4382 -955958 4382 -955958 4301]... [ -947948 5201 -947948 5296 -946949 5296 -946949 5201]... [ -988989 1101 -988989 1225 -987990 1225 -987990 1101]... [ -915916 8401 -915916 8497 -914917 8497 -914917 8401]... [ -907908 9201 -907908 9294 -906909 9294 -906909 9201]... [ -997998 201 -997998 289 -996999 289 -996999 201]... [ -911912 8801 -911912 8908 -910913 8908 -910913 8801]... [ -972973 2701 -972973 2826 -971974 2826 -971974 2701]... [ -952953 4701 -952953 4817 -951954 4817 -951954 4701]... [ -980981 1901 -980981 2010 -979982 2010 -979982 1901]... [ -932933 6701 -932933 6783 -931934 6783 -931934 6701]... [ -964965 3501 -964965 3609 -963966 3609 -963966 3501]... [ -978979 2101 -978979 2194 -977980 2194 -977980 2101]... [ -925926 7401 -925926 7505 -924927 7505 -924927 7401]... [ -973974 2601 -973974 2703 -972975 2703 -972975 2601]... [ -990991 901 -990991 1002 -989992 1002 -989992 901]... [ -966967 3301 -966967 3389 -965968 3389 -965968 3301]... [ -977978 2201 -977978 2297 -976979 2297 -976979 2201]... [ -945946 5401 -945946 5505 -944947 5505 -944947 5401]... [ -938939 6101 -938939 6229 -937940 6229 -937940 6101]... [ -909910 9001 -909910 9080 -908911 9080 -908911 9001]... [ -924925 7501 -924925 7629 -923926 7629 -923926 7501]... [ -900901 9901 -900901 10022 -899902 10022 -899902 9901]... [ -954955 4501 -954955 4605 -953956 4605 -953956 4501]... [ -926927 7301 -926927 7382 -925928 7382 -925928 7301]... [ -905906 9401 -905906 9507 -904907 9507 -904907 9401]... [ -981982 1801 -981982 1892 -980983 1892 -980983 1801]... [ -1000000 1 -1000000 102 -999001 102 -999001 1]... [ -930931 6901 -930931 7023 -929932 7023 -929932 6901]... [ -959960 4001 -959960 4123 -958961 4123 -958961 4001]... [ -917918 8201 -917918 8319 -916919 8319 -916919 8201]... [ -942943 5701 -942943 5794 -941944 5794 -941944 5701]... [ -941942 5801 -941942 5880 -940943 5880 -940943 5801]... [ -901902 9801 -901902 9922 -900903 9922 -900903 9801]... [ -995996 401 -995996 510 -994997 510 -994997 401]... [ -903904 9601 -903904 9683 -902905 9683 -902905 9601]... [ -914915 8501 -914915 8623 -913916 8623 -913916 8501]... [ -998999 101 -998999 192 -998000 192 -998000 101]... [ -921922 7801 -921922 7885 -920923 7885 -920923 7801]... [ -969970 3001 -969970 3116 -968971 3116 -968971 3001]... [ -912913 8701 -912913 8812 -911914 8812 -911914 8701]... [ -987988 1201 -987988 1328 -986989 1328 -986989 1201]... [ -902903 9701 -902903 9827 -901904 9827 -901904 9701]... [ -982983 1701 -982983 1815 -981984 1815 -981984 1701]... [ -920921 7901 -920921 8002 -919922 8002 -919922 7901]... [ -971972 2801 -971972 2891 -970973 2891 -970973 2801]... [ -979980 2001 -979980 2107 -978981 2107 -978981 2001]... [ -939940 6001 -939940 6085 -938941 6085 -938941 6001]... [ -906907 9301 -906907 9416 -905908 9416 -905908 9301]... [ -951952 4801 -951952 4889 -950953 4889 -950953 4801]... [ -946947 5301 -946947 5404 -945948 5404 -945948 5301]... [ -961962 3801 -961962 3905 -960963 3905 -960963 3801]... [ -916917 8301 -916917 8404 -915918 8404 -915918 8301]... [ -983984 1601 -983984 1680 -982985 1680 -982985 1601]... [ -937938 6201 -937938 6290 -936939 6290 -936939 6201]... [ -963964 3601 -963964 3693 -962965 3693 -962965 3601]... [ -922923 7701 -922923 7814 -921924 7814 -921924 7701]... [ -962963 3701 -962963 3816 -961964 3816 -961964 3701]... [ -931932 6801 -931932 6890 -930933 6890 -930933 6801]... [ -960961 3901 -960961 4021 -959962 4021 -959962 3901]... [ -984985 1501 -984985 1624 -983986 1624 -983986 1501]... [ -992993 701 -992993 810 -991994 810 -991994 701]... [ -986987 1301 -986987 1390 -985988 1390 -985988 1301]... [ -955956 4401 -955956 4504 -954957 4504 -954957 4401]... [ -919920 8001 -919920 8086 -918921 8086 -918921 8001]... [ -944945 5501 -944945 5613 -943946 5613 -943946 5501]... [ -943944 5601 -943944 5718 -942945 5718 -942945 5601]... [ -974975 2501 -974975 2590 -973976 2590 -973976 2501]... [ -913914 8601 -913914 8696 -912915 8696 -912915 8601]... [ -923924 7601 -923924 7692 -922925 7692 -922925 7601]... [ -985986 1401 -985986 1491 -984987 1491 -984987 1401]... [ -996997 301 -996997 387 -995998 387 -995998 301]... [ -934935 6501 -934935 6623 -933936 6623 -933936 6501]... [ -953954 4601 -953954 4720 -952955 4720 -952955 4601]... [ -933934 6601 -933934 6702 -932935 6702 -932935 6601]... [ -991992 801 -991992 893 -990993 893 -990993 801]... [ -910911 8901 -910911 9000 -909912 9000 -909912 8901]... [ -967968 3201 -967968 3298 -966969 3298 -966969 3201]... [ -908909 9101 -908909 9219 -907910 9219 -907910 9101]... [ -949950 5001 -949950 5113 -948951 5113 -948951 5001]... [ -993994 601 -993994 717 -992995 717 -992995 601]... [ -948949 5101 -948949 5199 -947950 5199 -947950 5101]... [ -950951 4901 -950951 5014 -949952 5014 -949952 4901]... [ -958959 4101 -958959 4218 -957960 4218 -957960 4101]... [ -928929 7101 -928929 7196 -927930 7196 -927930 7101]... [ -904905 9501 -904905 9604 -903906 9604 -903906 9501]... [ -976977 2301 -976977 2422 -975978 2422 -975978 2301]... [ -929930 7001 -929930 7122 -928931 7122 -928931 7001]... [ -994995 501 -994995 607 -993996 607 -993996 501]... [ -935936 6401 -935936 6515 -934937 6515 -934937 6401]... [ -936937 6301 -936937 6415 -935938 6415 -935938 6301]}; d=Thin_Ice(w,polycell); assert(abs(d-1536.76)<.01) toc

You just got a free pass. Congrats!

11   Pass
%% tic w=120;%case 9 35.62 polycell={[0 10 0 90 50 50 100 90 100 10]... [0 110 100 110 50 70]}; d=Thin_Ice(w,polycell); assert(abs(d-35.6174)<.01) toc

You just got a free pass. Congrats!

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!