| Показать все ветки Спрятать все ветки Показать все сообщения Спрятать все сообщения |
| Python3 help me to understand, what is wrong? | master8282 | 1002. Телефонные номера | 24 июл 2017 06:33 | 1 |
http://ideone.com/KOHykO Examples and my examples work. ideome works How to look at all stdin ??? Edited by author 28.07.2017 03:35 |
| wrong AC | AGrigorii [Yaroslavl SU]🔥 | 1861. Кладбище в Дейе | 24 июл 2017 04:23 | 1 |
wrong AC AGrigorii [Yaroslavl SU]🔥 24 июл 2017 04:23 ?????abxxxab????? abab output: 3 answer: 4 |
| TLE on test18 | Volkov Stanislav [MSU_Tashkent] | 1491. Нереальная история | 24 июл 2017 01:14 | 2 |
I use very simple algo, prompt other algo please. Edited by author 10.08.2011 15:32 Segment tree with range update, obviously. And even Fenwick tree with range increment. (Petr described such a Fenwick tree in his blog) |
| Runtime error(access violation) | Mithun Saha | 1083. Факториалы!!! | 23 июл 2017 21:57 | 4 |
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { long int n,k,val,fact=1,coeff=0;
char ch[24],*num,*excl;
gets(ch);
num=strtok(ch," "); n=atoi(num);
excl=strtok(NULL,NULL); k=strlen(excl);
while(coeff*k<n) { val=n-coeff*k; fact=fact*val; coeff++; }
if(n%k!=0) fact=fact*(n%k); else fact=fact*k;
printf("%ld",fact);
return 0; } Hi! I am getting runtime error(access violation) although the solution seems to work for different set of inputs. Please help me out! http://ideone.com/1tNjl7I have corrected your solution. Even if fix Access violation, You are just WA#5 (Because of a logic error) Edited by author 21.07.2017 00:59 Hi Mahilewets! Thanks a lot! I did correct the "Runtime error" but was getting a "Wrong answer" error due to the error in logic in the while condition. Your's is the right one. Just a query though(pardon my ignorance as I am new to this kind of stuff). How do you find the test cases for each problem apart from the one already given? |
| if ( n & m & 1 == 1 ) answer = 0 | Sq1 | 1459. Путешествие лучника | 23 июл 2017 20:16 | 1 |
|
| Небольшой хак для DFS | Nikita Mogilevets | 1218. Episode N-th: The Jedi Tournament | 23 июл 2017 18:19 | 2 |
Если вы используете DFS в итеративной форме, то вы можете получить TLE#4. Если вы перепишите DFS в рекурсивную форму и будете компилировать на Visual C++, то получите AC за менее чем 0.1 секунды. Алгоритм свой я оцениваю как O(N*N*N) по времени, Поскольку я N раз запускаю DFS по графу в котором O(N*N) ребер (В графе проведено ребро от джедая который может победить джедая X в схватке к джедаю Х) |
| Think twice before precalc using Python | Nikita Mogilevets | 1309. Искусство спора | 22 июл 2017 21:21 | 1 |
It may take around ten minutes if you precalc in Python. It takes just few moments to precalc in C++. Maybe special Python libraries for calculations would be OK. |
| WA4 | Serebryakov Dmitry (NNSU) | 1737. Мнемоника и палиндромы 3 | 22 июл 2017 17:55 | 2 |
WA4 Serebryakov Dmitry (NNSU) 16 ноя 2009 19:48 Don't forget about case n=1 answer: a b c Re: WA4 Nikita Mogilevets 22 июл 2017 17:55 |
| WA10 test | German | 1119. Метро | 22 июл 2017 16:34 | 4 |
10 6 8 2 1 2 2 4 5 5 2 5 4 6 5 9 4 10 5 Ansver: 1366 Парень, я не знаю, где ты это взял, но тебе ОГРОМНОЕ спасибо! С помощью твоих данных нашел ошибку и сдал программу. Спасибо. My program do this test case is correct, but i get WA on 10 test. Pls, anybody write this test! my program pass this too, but I came up with the test which leads to error: 8 8 8 2 7 3 3 4 4 5 4 6 3 6 1 7 2 8 3 answer must be 1424. |
| Spoiler /Спойлер/Солюшн/Хинты | Nikita Mogilevets | 1564. Этажи | 21 июл 2017 18:10 | 2 |
Задача заставила подумать. Как уже описано на форуме, нужно научиться считать количество единиц, которые встречаются в числах от 1 до X и подбирать X бинарным поиском. И вот мне этот подсчет долго не давался. Итог такой. Считать можно рекурсивно. Для этого нужно воспользоваться тем, что для чисел вида X=999...999 искомое количество единиц равно (log10(X)+1) *10^log10(X). Этот факт я заметил эксперимнтально. То есть я имею в виду count_ones (99)=20 count_ones (999)=300 count_ones (9999)=4000 и так далее. Отсюда и вытекает способ . Вычисляем сначала для X с зануленными разрядами кроме самого главного, затем прибавляем значение функции от X с зануленным главным разрядом . Я приведу пример для небольшого числа. Пусть X=666. Тогда посчитаем отдельно для 0-99, умножим на 6, прибавим к ответу; затем отдельно для 100-200, прибавим это к ответу , затем рекурсивно для 600-666 то есть просто для 0-66. |
| Самое понятное для меня решение. | Nikita Mogilevets | 1031. Железнодорожные билеты | 21 июл 2017 11:35 | 1 |
Можно считать, что мы имеем ориентированный взвешенный граф, у которого максимальная степень вершины равна трём . Равна она трём потому, что нам всегда выгодно ехать как можно дальше, потому что мы заплатили за всю дистанцию. То есть из какой-то станции ребра с весами C1, C2 и C3 проводим в как можно более далёкие станции. Тогда это получается очень сильно разреженный граф, так как N<=1e4. На этом графе запускаем алгоритм Дейкстры для разреженных графов. Я использовал вариант за O(Nlog2N) с std :: set. Для расчёта того, куда проводить ребра, я использовал бинарный поиск. И немного запорол реализацию этого поиска. Мой поиск возвращал первую станцию, которая находится дальше, чем разрешено. И возвращал он некорректное значение, если не было такой станции. Это послужило причиной WA#6. Причиной WA#2 послужило то, что я забыл сделать обновление расстояния до пункта назначения. Так как ребра идут жадно, то пункт назначения проезжался и в очередь не попадал, и расстояние соответственно никогда не обновлялось. |
| WA #8 | Anna Tokhyan | 1112. Покрытие | 20 июл 2017 23:59 | 4 |
WA #8 Anna Tokhyan 11 июл 2017 03:14 Does anyone know the 8th test? Re: WA #8 Nikita Mogilevets 18 июл 2017 17:54 The test is such an input data That if the program behaves as burunduk1 described in his habrahabr.ru post from 2015 It passes the test (And all others tests too) Re: WA #8 Nikita Mogilevets 18 июл 2017 17:58 So, sort intervals according to RIGHT endpoints in non-decreasing order. Consider intervals in the sorted order. Let M=max of all right ends added so far. Then if current left end is not less than M then add current interval to answer and update M if current right end is greater than M. |
| Python3 help me to understand, what is wrong? | master8282 | 1001. Обратный корень | 20 июл 2017 23:22 | 6 |
Original code in your page: string = input() split_input = string.split() lst = [] [lst.append(int(ndx) ** 0.5) for ndx in split_input] [print("%.4f" % round(ndx, 4)) for ndx in lst[::-1]] My tests in spyder: Code: with open('/tmp/123.txt', 'r') as f: string = f.read()
split_input = string.split() lst = [] [lst.append(int(ndx) ** 0.5) for ndx in split_input] [print("%.4f" % round(ndx, 4)) for ndx in lst[::-1]] Answer: runfile('/home/ant/.config/spyder-py3/temp.py', wdir='/home/ant/.config/spyder-py3') 2297.0716 936297014.1164 0.0000 37.7757 Edited by author 20.07.2017 03:14 Edited by author 20.07.2017 03:15 What does input() ? I think input just reads a LINE Not SEVERAL LINES input() just reads ONE LINE There are multiple lines in the input data That is written in the statement You are reading just the first line And you are missing numbers on the next lines I suggest you to use for line in stdin : for x in line. split () : ans. append (int(x) **0.5) Thank you, gotcha you. Now the code passed well. import sys import re lst = [] for ndx in sys.stdin: lst += re.findall(r'\d+|$', ndx) [print("%.4f" % round(int(ndx)**0.5, 4)) for ndx in lst[::-1] if ndx != ''] |
| Is y<=x? | andrejko | 1484. Кинорейтинг | 20 июл 2017 19:47 | 2 |
|
| Accepted using Ford-Bellman | Nikita Mogilevets | 1871. Сейсмические волны | 20 июл 2017 14:42 | 1 |
Рассчитывал я две величины. (1) dp[i] -- минимальное количество символов, которое должен прочесть i-й человек для того, чтобы узнать о землетрясении (2) len[i] -- минимальное количество символов, которое необходимо для того, чтобы ретвитнуть сообщение i-го человека. |
| WA#6 | Contego | 1586. Трипростые числа | 20 июл 2017 12:57 | 2 |
WA#6 Contego 10 фев 2016 01:48 WA#6 => check if you use module (1e9 + 9) |
| Wrong Answer (C). Which reason? | exe-cute-er | 1877. Велосипедные коды | 19 июл 2017 23:43 | 2 |
#include <stdio.h> int main() { int a, b; scanf("%d %d", &a, &b); if (a % 2 == 0 || b % 2 != 0) { printf("YES"); } else { printf("NO"); } return 0; } Posted by Deepto Shome Pritom 4 Feb 2017 21:06 Test 1: Den's keys: 0001 0000 1st night 2nd night 3rd night 4th night ... ... ... All nights bike's key 0001 0000 0001 0000 - bad man 0000 0001 0003 0004 - result no no no no no Test 2: Den's keys: 0002 0001 1st night 2nd night 3rd night 4th night ... ... ... All nights bike's key 0002 0001 0002 0001 - bad man 0000 0001 0003 0004 - result no yes no no yes In the first test all nights result is "no". That why in the first test result is no. try to understand .. happy coding Edited by author 19.07.2017 23:44 |
| Я не знаю почему так | Nikita Mogilevets | 1244. Джентльмены | 19 июл 2017 20:37 | 2 |
Я написал на чистом Си и не мог ну никак пробиться через WA#4 Затем я переписал на Си++14 и получил AС Видимо сложность Си и отсутствие привычных функций STD меня отвлекают от сути задачи в какой-то мере Ну а алгоритм -- это задача о рюкзаке Вместимость рюкзака равна рвзности между суммарным весом всех карт и весом неполной колоды. |
| Copy on Write. | Nikita Mogilevets | 1992. CVS | 19 июл 2017 16:08 | 1 |
Я использовал для решения стратегию copy on write. I have used copy on write strategy. Когда я использовал scanf и printf, я получал TLE#9. When used scanf and prin tf got TLE#9. Когда заменил ввод на ввод через unlocked getchar и putchar, то получил АС за менее чем 0.6 сек. AC < 0.6 sec with _getchar_nolock and _putchar_nolock. Ну и немного на русском про саму COW-стратегию. Есть вектор реальных объектов клонов, а есть вектор ссылок на эти объекты. Новый объект в первом векторе создаётся не при клонировании, а при попытке изменить реального клона, на который есть больше одной ссылки. Во втором же векторе новые объекты создаются, напротив, только при клонировании. |
| My Simple Java Solution | Md johirul Islam | 2012. Про Гришу Н. | 19 июл 2017 13:01 | 3 |
import java.util.Scanner; public class T2012 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int f=sc.nextInt(); int r=12-f; int time=r*45; if(time<=240) System.out.println("YES"); else System.out.println("NO"); } } for python a=int(input()) question=12 time=240 tasks_left=question-a if tasks_left*45<=240: print('true') else: print('false') |