আমরা ডুবে না সাঁতার কাটছি?


40

সমস্যাটি

একটি শেষবিচারের দৃশ্যকল্প একটি একক লাইন তিনটি সংখ্যা দ্বারা বর্ণনা করা হয়, n, m, এবং p। সেই রেখাকে অনুসরণ করা প্রতিটি লাইনের মান nসহ mলাইন। প্রতিটি মান প্রতিটি ঘর ধরে রাখতে পারে এমন জলগুলির মোট ইউনিট উপস্থাপন করে।

নিম্নলিখিত pলাইনগুলি পরবর্তী pদিনের আবহাওয়ার বর্ণনা করে । 1 ইউনিট বৃষ্টিপাত একটি একক কোষে প্রতিদিন পড়ে। কোনও কক্ষে পানির পরিমাণ যদি ধরে রাখতে পারে তার পরিমাণ ছাড়িয়ে যায় তবে সেই কোষ বন্যা হয়। যদি একাধিক সংলগ্ন কক্ষগুলি সম্পূর্ণ ক্ষমতা সম্পন্ন হয় তবে তাদেরকে এমন এক ঘর হিসাবে বিবেচনা করা হবে যা সাধারণ প্রতিবেশীদের ভাগ করে দেয় (আপনি যখন কোনও ফাঁকা গ্রুপে ক্লিক করেন তখন মাইনসুইপার মনে করেন)।

  • একটি একক মাঝারি কক্ষে 4 প্রতিবেশী থাকে
  • দুটি সংলগ্ন, সম্পূর্ণ ক্ষমতা সম্পন্ন মধ্যকোষগুলি এমন একটি ঘর হিসাবে বিবেচনা করা হয় যার 6 প্রতিবেশী থাকে
  • একটি একক কোণার ঘরে 2 প্রতিবেশী রয়েছে
  • একটি একক প্রাচীর কক্ষে 3 প্রতিবেশী রয়েছে

যখন কোনও কোষ বন্যা হয়, তখন বন্যার ঘটনা ঘটে। সমস্ত অতিরিক্ত জল সমানভাবে তার প্রতিবেশীদের মধ্যে বিতরণ করা হয়। যদি এর ফলে এক বা একাধিক প্রতিবেশী বন্যার সৃষ্টি হয় তবে অন্য একটি বন্যার ঘটনা ঘটে। জল স্থির না হওয়া অবধি অব্যাহত রয়েছে বা শহরটি পুরোপুরি বন্যা হয়ে গেছে।

উদাহরণ ইনপুট

7 5 3
3 2 3 4 5
2 2 0 0 4 4
1 1 2 3 3
4 1 2 2 2
4 1 1 2 2
4 4 1 2 2
4 4 2 2 2
0 0
1 2
4 3

  • 0 0 মানে এটি 1 সারি, কর্নেল 1 এ বৃষ্টি হয়েছিল
  • 1 2 এর অর্থ এটি সারি 2, কর্নেল 3 এ বৃষ্টি হয়েছিল (যা শূন্য জল ধরে রাখতে পারে এবং তাত্ক্ষণিকভাবে বন্যা পেতে পারে!)

কয়েক pদিনের বৃষ্টির পরে , যদি শহরটি পুরোপুরি বন্যা হয় তবে আউটপুট ডুবে যায় । অন্যথায়, সাঁতার আউটপুট ।

উদাহরণ আউটপুট

সন্তরণ

অনুমিতি

  • স্ট্যান্ডিনের মাধ্যমে ইনপুট সরবরাহ করা যেতে পারে, "city.txt" থেকে পড়া, বা আর্গুমেন্ট হিসাবে স্বীকৃত হতে পারে। ইতিমধ্যে পোস্ট করা কোনও উত্তর অবৈধ না করার জন্য তিনটিই অনুমোদিত।
  • জলের সক্ষমতা অ-নেতিবাচক পূর্ণসংখ্যার হবে।

আন্ডারগ্র্যাড কলেজ শিক্ষার্থীদের 40+ টিম (এএন্ডএম, ইউটি, এলএসইউ, রাইস, বেলর ইত্যাদি) বিভিন্ন প্রোগ্রামে উপলব্ধ প্রোগ্রামিং প্রতিযোগিতায় অংশ নিয়ে 5 ঘন্টা এই সমস্যার সমাধান করতে পারেনি। এই কারণে, আমি সাহায্য করতে পারি না তবে উল্লেখ করতে পারি যে এই ধাঁধাটির একটি ধরা আছে যা সমাধানটিকে তুচ্ছ করে তোলে। সংক্ষিপ্ততম কোডটি এখনও জয়ী, কারণ আমি আত্মবিশ্বাসী যে সংক্ষিপ্ততম কোডটি ধাঁধাও সমাধান করবে।


এটি মূল্যবোধের nলাইন mবা অন্যভাবে? আপনার উদাহরণ লিখিত নির্দিষ্টকরণের সাথে মেলে না।
অ্যালগরিদমশর্ক

@ অ্যালগরিদমশর্ক সংশোধন হয়েছে
রেনবোল্ট

13
আমি নিশ্চিত নই, তবে আমার কাছে মনে হয় যে আপনি বৃষ্টিপাতের পরিমাণের তুলনায় সমস্ত স্কোয়ার ধরে রাখতে পারে তার চেয়ে বৃষ্টিপাতের পরিমাণ বড় হলে আপনি ডুবে যান; অন্যথায় আপনি ভাসা এটা কি?
হোশেচ 250

2
@ होस्চ 250 মজা করে!
রেইনবোল্ট

1
"অতিরিক্ত জল সমানভাবে তার প্রতিবেশীদেরকে বিতরণ করা হয়।" - এটি সম্ভবত 1 ইউনিট জল হতে পারে। এটি 0.25প্রতিটি সংলগ্ন কোষে উদাহরণ হিসাবে ইউনিট হিসাবে বিতরণ করে (একক মাঝারি বন্যার কোষ ধরে)?
নীল স্লেটার

উত্তর:


16

গল্ফস্ক্রিপ্ট, 37 30 টি অক্ষর

নতুন এবং উন্নত, টিপসের জন্য পিটারটেলরকে ধন্যবাদ :

~](\(@*\(@@<{+}*>"SwimSink"4/=

ব্যাখ্যা :

Code                     -                                            - Stack
~]                       - parse input into an array of integers      - []
(                        - pop first number and put on stack          - [] 7
\(                       - \ swaps top two, then pop first num again  - 7 [] 5
@                        - bring 3rd down from stack to front         - [] 5 7
*                        - mult. this is grid size                    - [] 35
\(@                      - bring next # out - the days of rain        - [] 3 35
@                        - bring array out                            - 3 35 []
<                        - take first 35 elements out of array.
                           this extracts just the capacities and 
                           consumes the rest                          - 3 []
{+}*                     - fold the array using plus - this sums the
                           entire thing                               - 3 86
<                        - greater-than comparison: 3 > 86?           - 0
"SwimSink"4/             - push a string and split it to groups of 4  - 0 ["Swim" "Sink"]

=                        - index into the array using the result of
                           the comparison. if rain > capacity, then
                           sink, else swim                            - "Swim"

প্রোগ্রামের পরে স্ট্যাক আউটপুট হয়।


পুরানো সংস্করণ + ব্যাখ্যা:

[~](\(@*\(@{\(@\-}*\;0>"Sink""Swim"if

হিসাবে একই পদ্ধতির Fors শুধু Golfscripted =)। সম্ভবত আরও দক্ষ করা যেতে পারে। ইনপুট স্টিডিনের।

ব্যাখ্যা :

Code                     -                                            - Stack
[~]                      - parse input into an array of integers      - []
(                        - pop first number and put on stack          - [] 7
\(                       - \ swaps top two, then pop first num again  - 7 [] 5
@                        - bring 3rd down from stack to front         - [] 5 7
*                        - mult. this is grid size                    - [] 35
\(@                      - bring next # out - the days of rain        - [] 3 35
{                        - define a block which...
 \(@                     - brings next number out
 \-                      - swaps and subtracts 2nd down from top
}                                                                     - [] 3 35 {}
*                        - repeat that block 35 times. this ends up
                           pulling the capacities out one by one
                           and decrementing our number-of-days 
                           number by each one                         - [] -84 
\;                       - swap and kill the array to get rid of
                           unused input                               - -84
0>"Sink""Swim"if         - if the num > 0, evaluate to "Sink", 
                           otherwise to "Swim"                        - "Swim"

প্রোগ্রাম তারপর স্ট্যাক আউটপুট, যা শুধুমাত্র উত্তর।


]মেলানো ছাড়াই [পুরো স্ট্যাকটি অ্যারেতে সংগ্রহ করবে, যাতে একটি প্রাথমিকটি [~]সহজতর করা যায় ~]grid_sizeএকটি অ্যারের প্রথম উপাদানগুলি পেতে , ব্যবহার করুন <, সুতরাং <{+}*মোট ক্ষমতা যোগ করার ক্ষেত্রে আপনাকে অবশ্যই কিছুটা সাশ্রয় করতে পারে। 0>"Sink""Swim"ifহতে পারে0>"SinkSwim"4/=
পিটার টেলর

@ পিটারটেলর: টিপসটির জন্য ধন্যবাদ! আপনি কি সম্পর্কে নিশ্চিত ~]? আমি চেষ্টা করেছিলাম এবং এটি কাজ করে বলে মনে হচ্ছে না। শেষ হ্যাকটি দুর্দান্ত হলেও এটি "SwimSink"ব্যবহার করবে - এটি ব্যবহার করবে। এবং অ্যারের জিনিসটিও আশাব্যঞ্জক বলে মনে হয়, এটির জন্য কাজ করা হবে।
ক্লদিউ

আমি নিশ্চিত: এটি একটি স্ট্যান্ডার্ড ট্রিক যা আমি এবং অন্যান্যরা বছরের পর বছর ধরে ব্যবহার করে আসছি।
পিটার টেলর

@ পিটারটেলর: হুম অদ্ভুত। আমি যে দোভাষীর সাথে সংযুক্ত হয়েছিলে চেষ্টা করে দেখুন - এটি ব্যর্থ হয়। তারপরে - ঠিক আছে ওয়েব দোভাষীটি মানক নয়। তবে আমি ruby golfscript.rbএটির সাথে চেষ্টাও করেছি এবং এটি এখনও কার্যকর হয়নি ... আপনি এটি যাচাই করতে পারেন যে এটি আপনার শেষের দিকে কাজ করে? আমি উভয়ের ক্ষেত্রে একই ত্রুটি পেয়েছি:undefined method '+' for nil:NilClass (NoMethodError)
ক্লডিউ

1
আপনি যখন স্টিডিনের অভাবের পরিবর্তে বিকল্পটির জন্য একটি স্ট্রিং আক্ষরিক sertোকান, আপনি খালি স্ট্রিংটি সরিয়ে নিতে সেমিকোলনের সাথে আগে এটি তৈরি করা উচিত যা আসলে "স্টিডিন থেকে" আসে। এটির সাথে এটি দুর্দান্ত কাজ করে
পিটার টেলর

20

সি: 100 96 95 টি অক্ষর

n,m;main(p){scanf("%d%d%d",&n,&m,&p);for(n*=m;n--;scanf("%d",&m))p-=m;puts(p>0?"Sink":"Swim");}

পাঁচ ঘন্টা? আমাকে পাঁচ মিনিট সময় নিয়েছে। :)

আরগের, সরলকরণের জন্য আপনাকে ধন্যবাদ! আমি তবে পরিবর্তনশীল ঘোষণা এবং আর্গুমেন্টগুলি প্রধানতে পুনর্বিন্যস্ত করেছি, কারণ ক্ল্যাংয়ের ত্রুটি হিসাবে একটি ত্রুটি ছুঁড়েছে যদি প্রধানের দ্বিতীয় তর্কটি অন্য কোনও ধরণের হয় char **


3
96 -p;main(n,m){for(scanf("%d%d%d",&n,&m,&p),n*=m;n--;scanf("%d",&m),p-=m);puts(p>0?"Sink":"Swim");}
আরগায়ার

1
95 - n,m;main(p){for(scanf("%d%d%d",&n,&m,&p),n*=m;n--;scanf("%d",&m))p-=m;puts(p>0?"Sink":"Swim");}। আমি ধারণার সাথেও খেলেছি n-=scanf, তবে তার পরে প্রোগ্রামটি ঠিক হবে কিনা তা নিশ্চিত নয়। প্রথমে অক্ষরের সংখ্যা পরিবর্তন না scanfকরে সামনে সরিয়ে নেওয়া যায় for
আরগের

n-=scanf...n-=1মূলত একটি প্রাক-বৃদ্ধি হিসাবে কাজ করবে না , তাই এটি দক্ষিণ-পূর্ব কোণটি মিস করবে। অন্য পরিবর্তনটি দুর্দান্ত।
মার্শ

7

পাইথন, 4 টি লাইন, 175 টি অক্ষর

import sys 
F=sys.stdin
n,m,p=[int(a) for a in F.readline().split()]
print("sink") if p > sum([sum(int(x) for x in F.readline().split()) for a in range(n)]) else print("swim")

হ্যাঁ, আমি অবাক হয়েছি যদি 40+ টি দল কঠোর উপায়ে কাজ করার পরে ক্যাচটি সন্ধান করে।


10
আমি 40+ টির মধ্যে একটিতে ছিলাম। ব্যর্থ হওয়ার পরে আমরা ধরা দিয়েছিলাম। অডিটোরিয়ামের সবাই একসাথে মুখরিত হয়। আমি মনে করি সম্ভবত এখানে এটি উল্লেখ করা উচিত ছিল না। আপনি ছেলেরা খুব দ্রুত ছিল!
রেনবোল্ট

সেকি! যাইহোক, এই ধরণের প্রশ্নের জন্য আমাকে স্টিডিনের কাছ থেকে ইনপুটটি পাওয়া উচিত? - আমি স্ট্যাকেক্সচেঞ্জে নতুন। :)
swalladge

আমি STDIN নির্দিষ্ট করার জন্য আমার প্রশ্নটি সম্পাদনা করতে যাচ্ছিলাম, তবে আমি আশঙ্কা করেছি যে এটি আপনার উত্তরটি বাতিল করে দেবে। আমি প্রায় এক মাস ধরে এখানে ধাঁধা পড়ছি, এবং লোকেরা এসটিডিএন নির্দিষ্ট করে কিনা তা সত্যই খেয়াল করিনি।
রেনবোল্ট

1
@ স্যালোডেজ কোডগল্ফে আপনাকে স্বাগতম! আমি শিরোনামটিকে প্রিপেন্ড করে শিরোনাম তৈরি করার পরামর্শ দিচ্ছি #
টিমওয়োল্লা

2
আপনি যদি এটি ব্যবহার করেন তবে এটি 108 এ নামিয়ে আনতে পারেন input()এবং map():n,_,p=map(int,input().split());print(['sink','swim'][p>sum(sum(map(int,input().split()))for a in range(n))])
ব্লেন্ডার

6

জে (50 চর) এবং কে (40) ডাবল বৈশিষ্ট্য

দেখা যাচ্ছে, যথারীতি এই দু'জনের সমাধানগুলিতে ঠিক একই কাঠামো রয়েছে, তাই তারা উভয়ই এখানে আছেন। কে পুরোপুরি খাটো, যদিও এটি একটি মনোরম আশ্চর্য।

>Sink`Swim{~(]<[:+/[+/@".@$+1!:1@#1:)/0 2{".1!:1]1

ব্যাখ্যা:

  • ".1!:1]1 - প্রথম লাইনে পড়ুন, এবং পূর্ণসংখ্যায় রূপান্তর করুন।
  • (...)/0 2{- সূচক 0 এবং 2 এ আইটেমগুলি নিন ( nএবং pযথাক্রমে) এবং ক্রিয়াপদে (...)যথাক্রমে বাম এবং ডান যুক্তি হিসাবে তাদের ব্যবহার করুন ।
  • +1!:1@#1:- n+pলাইনে পড়ুন ।
  • [+/@".@$- $প্রথম nসারিতে ( [) সরিয়ে নিন, বাকিটি ফেলে রেখে, এবং তারপরে পূর্ণসংখ্যা ( ".) রূপান্তর করুন এবং প্রতিটি সারিতে যোগফল ( +/)।
  • ]<[:+/- সারির যোগফলগুলি একসাথে যুক্ত করুন এবং তারপরে এই মানটিকে সঠিক যুক্তির সাথে তুলনা করুন p,। pযোগফলের চেয়ে কম হলে আমরা সত্য উত্পাদন করি ।
  • >Sink`Swim{~- Swimউপরের তুলনামূলক সত্য Sinkহলে বা মিথ্যা হলে তা নির্বাচন করুন ।

ব্যবহার:

   >Sink`Swim{~(]<[:+/[+/@".@$+1!:1@#1:)/0 2{".1!:1]1
7 5 3
3 2 3 4 5
2 0 3 3 4
1 1 2 3 3
4 1 2 2 2
4 1 1 2 2
4 4 1 2 2
4 4 2 2 2
0 0
1 2
4 3
Swim

এবং এখন কে:

`Sink`Swim@{z<+//.:'x#0::'(x+z)#`}.. 0:`

ব্যাখ্যা:

  • . 0:` - ইনপুট একটি লাইন পড়ুন, এবং একটি পূর্ণসংখ্যার অ্যারে রূপান্তর।
  • {...}.- এই ফাংশনের n m pআর্গুমেন্ট হিসাবে এই তিনটি সংখ্যা ব্যবহার করুন x y z
  • 0::'(x+z)#`- x+zইনপুট ফাইল হ্যান্ডেলের অনুলিপি তৈরি করুন `এবং তারপরে তাদের প্রত্যেকের জন্য একটি লাইনে পড়ুন ( 0::')।
  • .:'x#- প্রথম xআইটেম নিন এবং প্রতিটি সংখ্যার ভেক্টরে রূপান্তর করুন।
  • z<+//- পুরো ম্যাট্রিক্স একসাথে যোগ করুন এবং তারপরে এটির চেয়ে বড় কিনা তা পরীক্ষা করুন z
  • `Sink`Swim@- ফিরে আসুক Sinkবা Swimঅনুসারে পরীক্ষা সত্য হয়েছে কিনা।

ব্যবহার:

  `Sink`Swim@{z<+//.:'x#0::'(x+z)#`}.. 0:`
7 5 3
3 2 3 4 5
2 2 0 3 4
1 1 2 3 3
4 1 2 2 2
4 1 1 2 2
4 4 1 2 2
4 4 2 2 2
0 0
1 2
4 3
`Swim

6

এপিএল, 35

4↑'SwimSink'⌽⍨4×x[3]>+/{+/⎕}¨⍳1⌷x←⎕

অনুমতি পেলে নিশ্চিত না তবে এটি "শহর" পরে ইনপুট গ্রহণ বন্ধ করে দেয়

x←⎕ইনপুট নেয় এবং এটিকে ভেরিয়েবলে সঞ্চয় করে রাখে x(স্থান-বিস্মৃত সংখ্যাগুলিকে সংখ্যাসূচক অ্যারে হিসাবে ব্যাখ্যা করা হয়)
1⌷এক্সট্র্যাক্ট ইনডেক্স 1 (এপিএল অ্যারেগুলি এক-ভিত্তিক)
1 থেকে আর্গুমেন্টে অ্যারে তৈরি করুন ( 1⌷x←⎕এই ক্ষেত্রে)
¨"মানচিত্র" অপারেশন
{+/⎕}থেকে অ্যারে নিন ইনপুট করুন এবং
+/মানচিত্র অপারেশন দ্বারা উত্পাদিত যোগফলের যোগফলটি যোগ করুন
4×x[3]>যদি যোগফল < x[3](1 প্রদান করে 1 বা 0), তারপরে 4 টি গুণ
'SwimSink'⌽⍨করে স্ট্রিংটি 'SwimSink'সেই পরিমাণে
4↑আবর্তিত করুন অবশেষে, স্ট্রিংয়ের প্রথম 4 টি অক্ষর বের করুন


আমি মনে করি এটির একমাত্র অংশটি হ'ল এটি কোনও প্রদত্ত ইনপুটটির সঠিক উত্তরকে আউটপুট করে। যদি কোডগল্ফের পক্ষে এটি অস্বাভাবিক হয় তবে আশা করি কেউ আমাকে জানান।
রেইনবোল্ট

পরিবর্তন ⎕IO←0, তারপর প্রতিস্থাপন 4↑'SwimSink'⌽⍨4×সঙ্গে 'Swim' 'Sink'⊃⍨, x[3]সঙ্গে x[2], এবং 1⌷xসঙ্গে ⊃xদুই বাইট সংরক্ষণ করুন।
অ্যাডম

6

এডাব্লুকে, 70

n{for(;NF;NF--)s+=$NF;n--}NR==1{n=$1;p=$3}END{print p<s?"Swim":"Sink"}

এটি আমার জমা দেওয়ার বিষয়ে লায়ন্ডির দ্বারা একটি ইমপ্রোভেশন (86 86):

NR==1{h=$1;w=$2;r=$3;next}NR<=h{for(i=1;i<=w;++i)c+=$i}END{print(c>r?"Swim":"Sink")}

NR<=hহওয়া উচিত NR<=h+1, অন্যথায় সক্ষমতা শেষ লাইন এড়ানো হিসাবে আপনি ভুয়া ডুব পেতে হবে। এটি 70 হিসাবে সংক্ষিপ্ত করেও করা যেতে পারেn{for(;NF;NF--)s+=$NF;n--}NR==1{n=$1;p=$3}END{print p<s?"Swim":"Sink"}
লন্ডির

1
@ লাইল্ডির ভাল, উন্নতির জন্য আপনাকে অনেক ধন্যবাদ! আমি এটি খুব মজাদার মনে করি, যে অ্যাওক ঠিক এপিএল, জে এবং কে-এর পাশে আসে, যা কোড-গল্ফিংয়ে প্রত্যেককে পরাজিত করার জন্য বংশজাত ছিল! :-)
ব্যবহারকারী 40989

@ user40989- কে বুঝতে পারছি না। জে / কে / এপিএল এর চেয়ে ওউক 40-100% দীর্ঘ বলে মনে হয় যদিও তারা গল্ফিংয়ের ভাষা নয়, বরং বাণিজ্যিক প্রোগ্রামিং ভাষা (স্টেম থেকে)।
অ্যাডাম

5

কফিস্ক্রিপ্ট - 128 113

একটি ফাংশন যা স্ট্রিংটিকে একমাত্র যুক্তি হিসাবে গ্রহণ করে:

s=(l)->l=l.split /\n/;[n,m,p]=l[x=0].split /\s/;x+=c|0 for c in r.split /\s/ for r in l[1..n];`p>x?"Sink":"Swim"`

আপনি ইন্ডেন্টেশনটি সরিয়ে ফেলতে পারেন, এবং অর্ধবৃত্ত দ্বারা পৃথক করা প্রথম লাইনের সবকিছুতে স্থানান্তর করতে পারেন। আপনি `p>x?"Sink":"Swim"`পরিবর্তে লিখুন if p>x then"Sink"else"Swim"। তৃতীয় বিবৃতিটির জন্য পেরেনগুলিরও দরকার নেই।
কনরাড বোরোস্কি

4

এসইডি, 128

এটির একটি sedসংস্করণ লিখতে মজা লাগছিল। এটিতে নিম্নোক্ত সংক্ষিপ্তসার রয়েছে:

  • এটি ধরে নিয়েছে যে বৃষ্টির রেখাগুলি সহজেই স্বীকৃতি দিতে শহরটিতে দুটিরও বেশি কলাম রয়েছে।

  • এটি ধরে নিয়েছে যে প্রতিটি শহরের সক্ষমতা 0-9 এর মধ্যে রয়েছে।

এটা এখানে:

1d
s/^. .$/R/
G
:a
s/[\n 0]//
/[2-9]/{s/^/C/
y/23456789/12345678/}
s/1/C/
s/0//
s/RC//
h
ta
${s/R//g
s/^Sink//
s/.*C$/Swim/
p}

-nপতাকা সহ কল ​​করুন ।


3

এসডাব্লুআই-প্রোলগ 79

আপনি যদি এই সত্যটি মনে করেন না যে এই উত্তরটি স্টিডিনের পরিবর্তে ক্যোয়ারির মাধ্যমে ইনপুট নেয়:

s(A,L):-append(A,B),sumlist(B,C),length(L,D),(D>C->E='Sink';E='Swim'),print(E).

উত্তরটি ইনপুট ফর্ম্যাটটিকে বৈধতা দেয় না, তবে আমি মনে করি এটি সমস্যা নয়, কারণ প্রোগ্রামিং প্রতিযোগিতাটিও আপনাকে এটি করার দরকার হয় না।

নমুনা ক্যোয়ারী (প্রশ্নের উদাহরণ ব্যবহার করে):

s([[3,2,3,4,5],
   [2,2,0,3,4],
   [1,1,2,3,3],
   [4,1,2,2,2],
   [4,1,1,2,2],
   [4,4,1,2,2],
   [4,4,2,2,2]],
  [(0,0),
   (1,2),
   (4,3)]).

1

পাইথন - 152

import numpy
n, m, p = map(int,raw_input('').split())
print 'swim' if p<numpy.sum(numpy.matrix(';'.join([raw_input('') for i in range(n)]))) else 'sink'

1
আপনি কিছু সাদা জায়গা নিয়ে শুরু করতে পারেন। পরে ,, পরে এবং পরে ... 'পরে)
রাই-

1

স্কালা - 128

val a=readLine.split(' ')map(_.toInt);println(if((1 to a(0)map(x=>readLine.split(' ')map(_.toInt)sum)sum)>a(2))"swim"else"sink")

কিছু প্রথম বন্ধনী বা কিছু বাদ দেওয়া সম্ভব হতে পারে তবে স্কালা বিরামচিহ্ন এবং বিন্দু মুক্ত শৈলী এবং () বনাম {} এবং হোয়াট নোট সম্পর্কে চঞ্চল।


0

জাভাস্ক্রিপ্ট - 73 অক্ষর

for(i=c=0,a=s.split(/\s/);i++<a[0]*a[1];)c+=a[2+i]*1;c>a[2]?"Swim":"Sink"

ধরে নিই ইনপুটটি ভেরিয়েবল sএবং আউটপুটগুলিতে Swimবা Sink

উদাহরণ:

আসল প্রশ্ন থেকে - ব্রাউজার কনসোলে এটি প্রবেশ করানো:

s="7 5 3\n3 2 3 4 5\n2 2 0 3 4\n1 1 2 3 3\n4 1 2 2 2\n4 1 1 2 2\n4 4 1 2 2\n4 4 2 2 2\n0 0\n1 2\n4 3";
for(i=c=0,a=s.split(/\s/);i++<a[0]*a[1];)c+=a[2+i]*1;c>a[2]?"Swim":"Sink"

আউটপুট:

Swim
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.